Я очищаю много данных с веб-сайта UCAS (используя механический камень) и большую часть его работаю, но когда я пытаюсь вытащить требования к входу из Шотландии, я сталкиваюсь с некоторыми неприятностями. Ниже приведен код, который я использовал, чтобы найти и царапать предъявляемые требования:Rails Механизировать результаты запроса/очистки datascrape
entry_link = course_details.search('ul.details_tabs a').first
if entry_link
# If there is a link to a qualification page for the course go to that
details_info[:entry] = process_entry(@mechanize.get(entry_link["href"]))
end
end
def process_entry(entry_req)
entry_array = []
entry_info = {}
# Sets all data in hash
@requirements = entry_req.search('li.qual-element.qual_range').text.strip
entry_info[:req] = @requirements
#Pushes to array, and prints
entry_array.push(entry_info)
print_entry_info(entry_info)
Что это возвращается, однако, не так уж велико. Вместо того, чтобы возвращать только один результат либо для шотландских Highers или Advanced Highers тянет их обоих, и выводит их как таковые:
BBB Typical offerAABB Typical offer
Есть в любом случае либо зоны и только тянуть ГЭБ или AABB или путь к разделите его с помощью gsub или что-то, чтобы отображать только AABB или BBB? Любая помощь приветствуется.
Ссылка на пример страницы, где эти данные будут выведены из: http://search.ucas.com/course/entryrequirements/448323/anthropology?Vac=2&AvailableIn=2016&IsFeatherProcessed=True&ret=providers#coursedetailsmenu
Пожалуйста, прочтите «[ask]» и «[mcve]». Нам нужно увидеть минимальный код и минимальные данные, которые демонстрируют проблему _ в самом вопросе_. –
'course_details.search ('ul.details_tabs a'). First' лучше написан как' course_details.at ('ul.details_tabs a') '. –