2016-05-11 17 views
0

ウェブスクレイピングの指針を尊重するために、適度なサイズのサイトで非常に遅いクロールを行っています。その状況は、私がスパイダーを一時停止して再開できる必要があることを意味します。今のところ、私はコマンドラインにスパイダーをデプロイするときに永続性を有効にしています:scrapy crawl ngamedallions -s JOBDIR=pass1 -o items.csv問題スパイダースパイダーの一時停止と再開

昨夜は、そのトリックをやっているようでした。私は自分のスパイダーをテストして、きれいにシャットダウンしたら、もう一度やり直すことができました。しかし、今日、スパイダーは最初から始まります。私はpass1ディレクトリの内容を確認しましたが、requests.seenファイルには内容があります.1600行は昨夜クロールした3000ページで少し明るいようですが。

いずれにしても、誰かが私のスパイダーを再開しようとするとどこが間違っているのかの感覚を持っていますか?

更新

私は先に行って、手動で昨日のクロールを継続するために先に私のクモをスキップ。私が閉じて、同じcomand(上記参照)でスパイダーを再開しようとすると、それは働いた。ログの開始は、クロールが再開されたことを認識してスパイダーを反映します。

2016-05-11 10:59:36 [scrapy] INFO: Scrapy 1.0.5.post4+g4b324a8 started (bot: ngamedallions) 
2016-05-11 10:59:36 [scrapy] INFO: Optional features available: ssl, http11 
2016-05-11 10:59:36 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'ngamedallions.spiders', 'FEED_URI': 'items.csv', 'SPIDER_MODULES': ['ngamedallions.spiders'], 'BOT_NAME': 'ngamedallions', 'USER_AGENT': 'ngamedallions', 'FEED_FORMAT': 'csv', 'DOWNLOAD_DELAY': 10} 
2016-05-11 10:59:36 [scrapy] INFO: Enabled extensions: CloseSpider, FeedExporter, TelnetConsole, LogStats, CoreStats, SpiderState 
2016-05-11 10:59:36 [scrapy] INFO: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats 
2016-05-11 10:59:36 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware 
2016-05-11 10:59:36 [scrapy] INFO: Enabled item pipelines: NgamedallionsCsvPipeline, NgamedallionsImagesPipeline 
2016-05-11 10:59:36 [scrapy] INFO: Spider opened 
2016-05-11 10:59:36 [scrapy] INFO: Resuming crawl (3 requests scheduled) 

私は二優雅に近い(一時停止再開 - 一時停止再開)後クモを再開しようとすると、しかし、それは再び上でクロールを開始します。その場合のログの始まりは次のとおりですが、スパイダーはクロールが再開されたことを認識していると報告していません。

2016-05-11 11:19:10 [scrapy] INFO: Scrapy 1.0.5.post4+g4b324a8 started (bot: ngamedallions) 
2016-05-11 11:19:10 [scrapy] INFO: Optional features available: ssl, http11 
2016-05-11 11:19:10 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'ngamedallions.spiders', 'FEED_URI': 'items.csv', 'SPIDER_MODULES': ['ngamedallions.spiders'], 'BOT_NAME': 'ngamedallions', 'USER_AGENT': 'ngamedallions', 'FEED_FORMAT': 'csv', 'DOWNLOAD_DELAY': 10} 
2016-05-11 11:19:11 [scrapy] INFO: Enabled extensions: CloseSpider, FeedExporter, TelnetConsole, LogStats, CoreStats, SpiderState 
2016-05-11 11:19:11 [scrapy] INFO: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats 
2016-05-11 11:19:11 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware 
2016-05-11 11:19:11 [scrapy] INFO: Enabled item pipelines: NgamedallionsCsvPipeline, NgamedallionsImagesPipeline 
2016-05-11 11:19:11 [scrapy] INFO: Spider opened 

答えて

1

Scrapyは、重複URLのクロール、hereを避け、hereあなたはそれについての詳細な情報を見つけることができます。

dont_filter(ブール値) - この要求がスケジューラによってフィルタされていないことを示します( )。 同一の要求を複数回実行して、重複フィルタを無視する場合に使用します。 を慎重に使用してください。そうしないと、クロールループに入ります。デフォルトはFalseです。

はまた、このquestion

+0

を見て、基本的に私が望む行動をクロール重複URLを避けていませんか?現時点では、重複フィルタリングが有効になっているようです。私のログレポート '2016-05-11 10:59:37 [scrapy] DEBUG:フィルタリングされた重複リクエスト: - 最初のページがクロールされた後、重複は表示されなくなります(重複をすべて表示するにはDUPEFILTER_DEBUGを参照)。 – Tric

関連する問題