2008-10-03 9 views
0

J'essaie d'utiliser Scrubyt pour obtenir les détails de cette page http://www.nuffieldtheatre.co.uk/cn/events/event_listings.php?section=events. J'ai réussi à obtenir les titres et les URL de détail de la liste, mais je ne peux pas utiliser next_page pour que le scraper passe à la page suivante. Je suppose que c'est parce que je n'utilise pas le modèle correct pour le lien de la page suivante. J'ai essayé la chaîne "Next Page", et j'ai aussi essayé le XPath. D'autres idées?Comment obtenir le lien 'Page suivante' avec Scrubyt

Le code est ci-dessous:

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) 

Répondre

2

essayer avec une URL légèrement différente:

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

scrubyt semble avoir des problèmes avec la requête à la fin de la "section = événements?" URL

Quand il recherche la page suivante, il tente de retourner cette URL:

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

au lieu de:

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

Retrait de la chaîne de requête à la fin de l'URL semble résoudre ceci - vous pourriez vouloir classer ceci comme bogue.

Questions connexes