scrapyでcookieを設定してクロールする
spidersパッケージ内のクロール処理メインのモジュールで以下のようにmake_requests_from_urlを定義してその中でcookieセット処理を実装する事でログインが必要なサイトでもクロールできた。
class ExampleSpider(CrawlSpider): ~~~ def make_requests_from_url(self, url): request = super(ExampleSpider, self).make_requests_from_url(url) request.cookies['test_key'] = 'value1' request.cookies['test_key2'] = 'value2' return request
注意点としてCrawlSpiderの継承クラスである事。
scrapy.Spiderの継承クラスの場合は異なるっぽい事をどっかで見かけた。(未検証)