2017-06-28 2 views
0

Je suis en train d'extraire les fichiers locaux de la page_source. Le Scrapy a complètement ignoré la fonction parse_nextfile(). Cela fonctionne parfaitement pour la fonction parse(). Je ne sais pas pourquoi ça arrive?Scrapy ignorer une méthode

from scrapy import Spider 
from scrapy.loader import ItemLoader 
from linkedin.items import LinkedinItem 
import glob, os 

class ProfilesSpider(Spider): 

    name = 'profiles' 
    allowed_domains = ["file://127.0.0.1"] 
    start_urls = ["file://127.0.0.1/path/to/file/text.txt"] 

    def parse_nextfile(self,response): 

     #retrieve local files directory 
     request(url, callback = self.parse) 

    def parse(self, response): 
     #scraping the page_source file 
+0

Je ne vois aucune raison 'parse_nextfile' sera appelé,' parse' est le rappel par défaut des demandes de Scrapy, Si vous voulez appeler 'parse_nextfile', vous devrez spécifier dans la requête' callback = self.parse_nextfile' – bluesummers

+0

Merci @bluesummers, Cela fonctionne parfaitement. – dlfjj

+0

Je vais le mettre comme une réponse, s'il vous plaît voter jusqu'à et le marquer – bluesummers

Répondre

0

parse est le rappel par défaut de toute demande Scrapy.

Si vous avez besoin d'une autre méthode pour analyser une demande, vous devez indiquer dans la demande callback=self.parse_nextfile

+0

Merci pour l'aide. Je devrais mieux connaître la base du scrapy. – dlfjj