2013-09-25 3 views
3

Quel est le moyen d'afficher les données de retour de la fonction d'analyse de l'araignée lorsque j'exécute un script comme celui-ci?Comment obtenir l'araignée retourner les données avec scrapy grâce à un script externe?

from twisted.internet import reactor 
from scrapy.crawler import Crawler 
from scrapy.settings import Settings 
from scrapy import log, signals 
from testspiders.spiders.followall import FollowAllSpider 

spider = FollowAllSpider(domain='scrapinghub.com') 
crawler = Crawler(Settings()) 
crawler.signals.connect(reactor.stop, signal=signals.spider_closed) 
crawler.configure() 
crawler.crawl(spider) 
crawler.start() 
crawler.stats 
#log.start() 
reactor.run() 

Je désactive le journal pour afficher les messages d'impression dans les araignées, mais avec le journal activé, les données de retour n'apparaissent pas non plus.

Le code de la fonction d'analyse spider renvoie une chaîne simple.

Comment puis-je obtenir ces données? J'essaie d'imprimer les « résultats » reactor.run mais est toujours « none »

Répondre

0

Si vous voulez voir l'enregistrement dans le changement d'écran cette ligne:

#log.start()

à ceci:

log.start(loglevel=log.DEBUG)

à votre script.

Voir cette question

2

Ceci est la façon dont je l'ai trouvé pour obtenir les éléments collectés:

items = [] 
def add_item(item): 
    items.append(item) 

crawler.signals.connect(add_item, signals.item_passed) 

je lui ai donné à la question liée ma réponse originale et donner un peu plus de détails: https://stackoverflow.com/a/23892650/2730032

Questions connexes