ホームページ  >  記事  >  バックエンド開発  >  Python クローラーがプロキシを使用して Web ページをクロールする方法の詳細な説明

Python クローラーがプロキシを使用して Web ページをクロールする方法の詳細な説明

高洛峰
高洛峰オリジナル
2017-03-19 14:43:461982ブラウズ

プロキシの種類 (プロキシ): 透明なプロキシ、匿名プロキシ、混乱を招くプロキシ、および高匿名性プロキシ ここでは、プロキシを使用する python クローラーと、さまざまな複雑なクロールに対処するのに便利なプロキシ プール クラスについて説明します。仕事上の問題。

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

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

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

proxy="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モジュールは使用しますプロキシを使用した proxy

リクエストは urllib よりも簡単です。ここでは例として単一のプロキシを示します。プロキシを使用する必要がある場合は、session を使用して構築できます。任意のリクエスト メソッドにプロキシ パラメータを指定して、単一のリクエストを設定します。

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

以上がPython クローラーがプロキシを使用して Web ページをクロールする方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。