2017-09-14 1 views
0

J'utilise scrapy pour explorer un site entier, mais mon analyseur ne sera jamais appelé. J'ai regardé ceci pour toujours, faisant de petits changements mais son ne fonctionne pas. Peut-être qu'il a juste besoin d'une nouvelle paire d'yeux dessus. Voici mon code:Pourquoi mon analyseur scrapy ne s'appelle-t-il pas?

import scrapy 
from scrapy.spiders import CrawlSpider, Rule 
from scrapy.linkextractors import LinkExtractor 

class FirstSpider(CrawlSpider): 
    name = 'firstSpider' 
    allowed_domains = ['http://example.com'] 
    start_urls = ['http://example.com'] 

    rules = (Rule(LinkExtractor(), callback='parse_page', follow=True),) 

    def parse_page(self, response): 
     print('made it to the parser...') 

Je ne vois aucune erreur dans les journaux. La requête reçoit une réponse 200 de la part de example.com. Demande hors site filtrée à 'www.iana.org'. J'utilise python3 sur Ubuntu 16.04.

Merci d'avance pour tout conseils.

+0

est votre argument 'callback' censé avoir la fonction comme une chaîne? – ryugie

+0

C'est une chaîne dans les docs Scrapy, donc je le crois. J'ai enlevé les guillemets juste pour voir et ai 'NameError: le nom 'parse_page' n'est pas défini' –

Répondre

2

La question est inférieure à

allowed_domains = ['http://example.com'] 

Il doit être le nom de domaine et non l'URL

allowed_domains = ['example.com']