Как получить ссылку «Следующая страница» с помощью Scrubyt - PullRequest
0 голосов
/ 04 октября 2008

Я пытаюсь использовать Scrubyt для получения подробностей с этой страницы. http://www.nuffieldtheatre.co.uk/cn/events/event_listings.php?section=events. Мне удалось получить заголовки и подробные URL-адреса из списка, но я не могу использовать next_page, чтобы получить скребок для перейти на следующую страницу. Я предполагаю, что это потому, что я не использую правильный шаблон для ссылки на следующую страницу. Я попробовал строку «Следующая страница», и я также попробовал XPath. Есть другие идеи?

Код ниже:

require 'rubygems'
require 'scrubyt'

nuffield_data = Scrubyt::Extractor.define do
  fetch 'http://www.nuffieldtheatre.co.uk/cn/events/event_listings.php?section=events'

  event do
    title 'The Coast of Mayo'
    #url "href", :type => :attribute
    link_url
  end

  next_page "Next Page", :limit => 2


end

  nuffield_data.to_xml.write($stdout,1)

1 Ответ

2 голосов
/ 04 октября 2008

Попробуйте это с немного другим URL:

fetch 'http://www.nuffieldtheatre.co.uk/cn/events/event_listings.php'

Кажется, у scrubyt проблемы с запросом "? Section = events" в конце URL.

Когда он ищет следующую страницу, он пытается вернуть этот URL:

http://www.nuffieldtheatre.co.uk/cn/events/?pageNum_rsSearch=1&totalRows_rsSearch=39&section=events

вместо:

http://www.nuffieldtheatre.co.uk/cn/events/event_listings.php?pageNum_rsSearch=1&totalRows_rsSearch=39&section=events

Удаление строки запроса в конце URL, кажется, исправляет это - вы можете захотеть сохранить это как ошибку.

...