[解決済み] Pythonのリクエストを使って、ブラウザの訪問を偽装し、ユーザーエージェントを生成する方法とは?
2022-04-27 01:35:23
質問
からコンテンツを取得したい。 この のウェブサイトをご覧ください。
FirefoxやChromeのようなブラウザを使えば、欲しい本当のウェブサイトのページを取得することができますが、Pythonのリクエストパッケージ(または
wget
コマンド)を使って取得すると、まったく別のHTMLページが返されます。
ホームページの開発者が、そのためのブロックを作ってくれているのでは?
質問
pythonのリクエストやwgetコマンドを使って、ブラウザの訪問を偽装するにはどうしたらいいですか?
どのように解決するのですか?
を用意する。
User-Agent
ヘッダー
:
import requests
url = 'http://www.ichangtou.com/#company:data_000008.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response = requests.get(url, headers=headers)
print(response.content)
参考までに、各ブラウザのUser-Agent文字列の一覧はこちらです。
余談ですが、サードパーティ製のパッケージでかなり便利なのが 偽ユーザエージェント は、ユーザーエージェントの優れた抽象化レイヤーを提供します。
<ブロッククオート偽ユーザエージェント
実世界のデータベースを利用した、最新のシンプルなユーザエージェントのフェイクです。
デモの様子
>>> from fake_useragent import UserAgent
>>> ua = UserAgent()
>>> ua.chrome
u'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'
>>> ua.random
u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'
関連
-
任意波形を生成してtxtで保存するためのPython実装
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】PythonのRequestsライブラリを使って "User-agent "を送信する
-
[解決済み] pythonのリクエストでファイルをアップロードするには?
-
[解決済み] どうすれば、文字列中のリテラルな中抜き文字を印刷し、また.formatを使用することができるのでしょうか?
-
[解決済み] Python RequestsでJSONデータをPOSTする方法とは?
-
[解決済み] Pythonの__future__は何に使うのか、いつ、どのように使うのか、その仕組みについて
-
[解決済み] Flaskで静的ファイルを提供する方法
-
[解決済み] chromedriverでSeleniumを使用していることをWebサイトで検出することは可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない