2
ように私は( - http://m.google.com代わりにhttp://google.com例えば)リダイレクトされたURLを取得するために、モバイルなどUser-Agent
でいくつかのURLへのGET
リクエストを送信しようとしています。のpython - 要求URLモバイル
requests
ライブラリとurllib2
も試しました。User-Agent
はリクエストと一緒に送信されていないようです。ここで別の質問を読むこともできますが、その答えは十分ではありませんでした。
これは私のコードです:それでも
try:
req = requests.get(item.url, headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B137 Safari/601.1'}, timeout=5)
except requests.exceptions.HTTPError:
continue
except requests.exceptions.Timeout:
continue
print (item.url + ' => ' + req.url + ' (' + str(req.status_code) + ')')
、代わりに常にモバイル版のコンピュータのバージョンを取得します。
あなたがなぜユーザーエージェントが送信されていないと思うか分かりません。 Googleを含むほとんどのウェブサイトは、携帯用の別のURLにリダイレクトしないため、メインURLに正しいレイアウト/スタイルシートが表示されます。 –
user-agentを検出してすべてが完了していない場合はどうなりますか? JS、クッキーはいかがですか?特にJS。 – leovp
JSアウトプットの[out](https://github.com/scrapy-plugins/scrapy-splash)を確認してください –