web-dev-qa-db-ja.com

ScrapyShell-USER_AGENTを変更する方法

Webサイトからデータを抽出するための完全に機能するscrapyスクリプトがあります。セットアップ中に、ターゲットサイトは私のUSER_AGENT情報に基づいて私を禁止しました。その後、RotateUserAgentMiddlewareを追加して、USER_AGENTをランダムに回転させました。これはうまくいきます。

ただし、scrapy Shellを使用してxpathおよびcssリクエストをテストしようとすると、403エラーが発生します。これは、スクレイプシェルのUSER_AGENTが、ターゲットサイトがブラックリストに登録した値にデフォルト設定されているためだと確信しています。

質問:デフォルトとは異なるUSER_AGENTを使用してScrapyシェルでURLをフェッチすることは可能ですか?

fetch( ' http://www.test ')[何かを追加しますか?? USER_AGENTを変更するには]

どうも

13
dfriestedt

scrapy Shell -s USER_AGENT='custom user agent' 'http://www.example.com'

41
marven

スクレイピーシェル内で、requestheaderUser-Agentを設定できます。

url = 'http://www.example.com'
request = scrapy.Request(url, headers={'User-Agent': 'Mybot'})
fetch(request)
7
salmanwahed