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の継承クラスの場合は異なるっぽ
Scrapyのユニットテストを書こうとしたところ、ちょっと特殊かつあまり情報がなかったのでまとめました。いつHTMLが変更されてもおかしくないというクローラーの特性上、正当性チェックよりも実装時のcrawl時間を短縮するための利用をメインにするのが吉かなと思います。 (※主にSpiderのユニットテストに関する記事です) (※Pipeline等のテストはunittestなどで普通に書けるため範囲外です) TL;DR; Spiders Contractsを使います 公式のドキュメント docstringに書く scrapy check spidername で実行できる 自分でサブクラスを作り拡張できる ドキュメントにあるサンプルコード def parse(self, response): """ This function parses a sample response. Some co
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く