ホームページ > バックエンド開発 > Python チュートリアル > Python クローラーはプロキシを使用して Web ページをクロールします

Python クローラーはプロキシを使用して Web ページをクロールします

大家讲道理
リリース: 2016-11-07 10:59:51
オリジナル
2083 人が閲覧しました

プロキシの種類 (プロキシ): 透過プロキシ、匿名プロキシ、難読化プロキシ、および高匿名性プロキシ ここでは、Python クローラーによるプロキシの使用に関するいくつかの知識を示します。また、さまざまな問題に対処するのに便利なプロキシ プール クラスもあります。職場での複雑なクロールの問題。

urllib モジュールは proxy を使用します

urllib/urllib2 プロキシを使用するのはさらに面倒です。最初に ProxyHandler クラスを構築し、次にこのクラスを使用して Web ページを開くオープナー クラスを構築し、次にオープナーをインストールする必要があります。 request.

プロキシ形式 「http://127.0.0.1:80」です。アカウントのパスワードが必要な場合は、「http://user:password@127.0.0.1:80」です。 http://127.0.0.1:80"

# 创建一个ProxyHandler对象
proxy_support=urllib.request.ProxyHandler({'http':proxy})
# 创建一个opener对象
opener = urllib.request.build_opener(proxy_support)
# 给request装载opener
urllib.request.install_opener(opener)
# 打开一个url
r = urllib.request.urlopen('http://youtube.com',timeout = 500)
ログイン後にコピー

requests モジュールはプロキシを使用します

リクエストにプロキシを使用することは、urllib よりもはるかに簡単です... ここでは、単一のプロキシを例として取り上げます。それを複数回使用する場合、セッション クラスを使用して構築できます。

プロキシを使用する必要がある場合は、任意のリクエスト メソッドを渡すことができます。プロキシ パラメータを指定して、個別のリクエストを設定します:

import requests
proxies = {
  "http": "http://127.0.0.1:3128",
  "https": "http://127.0.0.1:2080",
}
r=requests.get("http://youtube.com", proxies=proxies)
print r.text
ログイン後にコピー

環境変数 HTTP_PROXY および HTTPS_PROXY を使用してプロキシを設定することもできます。

export HTTP_PROXY="http://127.0.0.1:3128"
export HTTPS_PROXY="http://127.0.0.1:2080"
python
>>> import requests
>>> r=requests.get("http://youtube.com")
>>> print r.text
ログイン後にコピー

プロキシで HTTP Basic 認証を使用する必要がある場合は、http://user:password@host/ を使用できます。 構文:

proxies = {
    "http": "http://user:pass@127.0.0.1:3128/",
}
ログイン後にコピー

Python のプロキシは非常に簡単に使用できます。最も重要なことは、次のようなプロキシを見つけることです。安定した信頼できるネットワーク。ご質問がございましたら、メッセージを残してください。

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