scrapyがRequestで返したページデータとブラウザで見たページデータは一致しません。

994 ワード

1.URLのアドレスは、要求されたユーザの所在領域を反映してもよく、エリアによっては、例えば、戻り値が異なるデータも異なる。http://www.xxxx/en/xxx 和http://www.xxxx/cn/xxx 違いがわかる
2.ユーザのIPアドレスを要求するエリアは、プロキシを使用すると、返ってくるデータも異なるかもしれない。
3.要求ヘッダの設定が違っています。例えば、user-agentは、accept-langerが違ってもリターンのデータが違ってきます。scrapyは自分のデフォルトのscrapyに関するuser-agentがあり、デフォルトのaccept-langerはenであるため、戻る内容はchromeブラウザから戻る内容とは異なる。
4.chromedriverとChromeブラウザのバージョンが一致しません。chromedriverダウンロードアドレスは、各フォルダのnotes.txtファイルの中に本バージョンに対応するchromeブラウザの説明があります。chromedriverダウンロード後は/usr/local/bin下に置く必要があります(mac)
追加:1.chromeブラウザのURLに入力できます。chrome://version/ を選択します。
2.scrapyは、requestオブジェクトのうちのheadersオブジェクトのuser-agentを断点的にデバッグして見ることができます。これは要求ヘッダであり、応答ヘッダと区別されることに注意してください。
3.scrapyの要求ヘッダ設定は、setting.pyファイルにおいてもよい。
DEFAULT_REQUEST_HEADERS = {
    'accept-language': 'zh-CN,zh;q=0.8',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}