Очистка / извлечение данных с помощью механизации

Используя Mechanize, я хотел бы очистить информацию на этом веб-сайте => http://www.africanbookscollective.com

Это информация, которую я хотел бы собрать:

  • Все книги, перечисленные в категории Художественная литература

В этой категории я хочу:

  1. Имя автора
  2. Название книги
  3. номер ISBN
  4. Издатель
  5. Страна

Я понял, что этот 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 страницах (полный список Книги с тегами Художественная литература).

ВОПРОСЫ:

  1. Я получаю действительно очень длинный вывод от Mechanize, который включает ссылки, которые мне не нужны.

  2. Информация, которая мне нужна, находится не в классе div, а в классе dl, и я пробовал поискать в Google, как выбрать этот класс dl, но пока мне не повезло.

  3. Каждый раз, когда я выполнял операцию регулярного выражения, чтобы удалить ссылки, которые я не воюю, я возвращаю пустой массив

Может ли кто-нибудь, кто-нибудь, помочь мне придумать новый способ решения этой проблемы? Буду признателен за обратную связь.

PS: Вот изображение, которое может пролить больше света

введите описание изображения здесь


person Uzzar    schedule 01.01.2014    source источник


Ответы (1)


Вы можете использовать scrape4me.com, чтобы получить необработанный результат для дальнейшего процесса в вашем проекте (механизировать) Не знаю механизировать, но, возможно, это может помочь, удачи

person Youss    schedule 01.01.2014