Используя Mechanize, я хотел бы очистить информацию на этом веб-сайте => http://www.africanbookscollective.com
Это информация, которую я хотел бы собрать:
- Все книги, перечисленные в категории Художественная литература
В этой категории я хочу:
- Имя автора
- Название книги
- номер ISBN
- Издатель
- Страна
Я понял, что этот URL => http://www.africanbookscollective.com/browse/african-literature/fiction дает мне нужную мне информацию.
Это мой текущий код:
require 'awesome_print'
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://www.africanbookscollective.com/browse/african-literature/fiction')
a = page.links.each do |link|
puts link.text
end
ap a
Я впервые использую Mechanize, и поэтому я не совсем уверен, чем он отличается от Nokogiri. Основная причина, по которой я использую его в данном конкретном случае, заключается в том, что мне нужно извлечь информацию на 38 страницах (полный список Книги с тегами Художественная литература).
ВОПРОСЫ:
Я получаю действительно очень длинный вывод от Mechanize, который включает ссылки, которые мне не нужны.
Информация, которая мне нужна, находится не в классе div, а в классе dl, и я пробовал поискать в Google, как выбрать этот класс dl, но пока мне не повезло.
Каждый раз, когда я выполнял операцию регулярного выражения, чтобы удалить ссылки, которые я не воюю, я возвращаю пустой массив
Может ли кто-нибудь, кто-нибудь, помочь мне придумать новый способ решения этой проблемы? Буду признателен за обратную связь.
PS: Вот изображение, которое может пролить больше света