ホームページ > バックエンド開発 > Python チュートリアル > Python のリクエスト ライブラリを使用してブラウザ訪問を偽装する方法

Python のリクエスト ライブラリを使用してブラウザ訪問を偽装する方法

Patricia Arquette
リリース: 2024-11-11 22:09:03
オリジナル
181 人が閲覧しました

How to Fake a Browser Visit with Python's Requests Library?

Python のリクエスト ライブラリを使用してブラウザ訪問を偽装する方法

Python のリクエスト パッケージや wget コマンドなどのツールを使用してプログラムで Web サイトにアクセスする場合、 Web ブラウザを通じて Web サイトにアクセスした場合と比較して、取得される HTML コンテンツに差異が生じる場合があります。この不一致は、Web サイトが本物のブラウザ訪問と自動化されたリクエストを区別するメカニズムを採用していることが多いという事実から生じています。

この課題を克服するための効果的なアプローチの 1 つは、「User-Agent」ヘッダーを提供して正当なブラウザ訪問をシミュレートすることです。あなたのリクエストで。このヘッダーには、使用されている特定のブラウザとバージョンに関する情報が含まれており、Web サイトが人間による訪問であることを識別するのに役立ちます。

Python のリクエスト ライブラリを使用してこのソリューションを実装するには、次の手順に従います。

  1. リクエスト モジュールをインポートします。
  2. アクセスする Web サイトの URL を定義します。
  3. 次のキーと値のペアを使用してヘッダー ディクショナリを作成します: 'User-Agent': 「Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/39.0.2171.95 Safari/537.36」。これは、Google Chrome の一般的なユーザー エージェント文字列の例です。
  4. requests.get() メソッドを使用して、ヘッダー ディクショナリを引数として渡し、Web サイトに GET リクエストを送信します。
  5. 応答オブジェクトには、.content を使用してアクセスできる HTML コンテンツが含まれています。

コード例:

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)
ログイン後にコピー

参考として、ユーザー エージェントの包括的なリストを示します。さまざまなブラウザの文字列はここで入手できます:

[すべてのブラウザのリスト](https://deviceatlas.com/blog/list-of-user-agent-strings)

または、は、fake-useragent サードパーティ パッケージを利用して、現実的なユーザー エージェント文字列を生成するプロセスを簡素化できます。以下はその使用法のデモンストレーションです:

from fake_useragent import UserAgent

ua = UserAgent()
request_headers = {'User-Agent': ua.chrome}
ログイン後にコピー

以上がPython のリクエスト ライブラリを使用してブラウザ訪問を偽装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート