3

このようなスクリプトを実行したときに、スパイダーのパース関数の戻りデータを表示するにはどうすればよいですか?

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()

スパイダーで印刷メッセージを表示するためにログを無効にしますが、ログを有効にすると、戻りデータも表示されません。

Spider parse 関数のコードは単純な文字列を返します。

このデータを取得するにはどうすればよいですか? 「reactor.run」の結果を印刷しようとしましたが、常に「なし」です

4

2 に答える 2

4

これは、収集したアイテムを取得するために私が見つけた方法です。

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

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

リンクされた質問で元の回答を提供し、もう少し詳細を説明します: https://stackoverflow.com/a/23892650/2730032

于 2014-05-27T15:06:34.203 に答える