Webサイトからデータを抽出するための完全に機能するscrapyスクリプトがあります。セットアップ中に、ターゲットサイトは私のUSER_AGENT情報に基づいて私を禁止しました。その後、RotateUserAgentMiddlewareを追加して、USER_AGENTをランダムに回転させました。これはうまくいきます。
ただし、scrapy Shellを使用してxpathおよびcssリクエストをテストしようとすると、403エラーが発生します。これは、スクレイプシェルのUSER_AGENTが、ターゲットサイトがブラックリストに登録した値にデフォルト設定されているためだと確信しています。
質問:デフォルトとは異なるUSER_AGENTを使用してScrapyシェルでURLをフェッチすることは可能ですか?
fetch( ' http://www.test ')[何かを追加しますか?? USER_AGENTを変更するには]
どうも
scrapy Shell -s USER_AGENT='custom user agent' 'http://www.example.com'
スクレイピーシェル内で、request
header
にUser-Agent
を設定できます。
url = 'http://www.example.com'
request = scrapy.Request(url, headers={'User-Agent': 'Mybot'})
fetch(request)