在python中,requests使用代理要比urllib好用太多,urllib還是有些交互性差。
代理
如果需要使用代理,你可以通過為任意請(qǐng)求方法提供 proxies 參數(shù)來配置單個(gè)請(qǐng)求:
import requests
proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}
requests.get("http://example.org", proxies=proxies)
你也可以通過環(huán)境變量 HTTP_PROXY 和 HTTPS_PROXY 來配置代理。
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="http://10.10.1.10:1080"
$ python
>>> import requests
>>> requests.get("http://example.org")
若你的代理需要使用HTTP Basic Auth,可以使用 http://user:password@host/ 語法:
proxies = {
"http": "http://user:pass@10.10.1.10:3128/",
}
要為某個(gè)特定的連接方式或者主機(jī)設(shè)置代理,使用 scheme://hostname 作為 key, 它會(huì)針對(duì)指定的主機(jī)和連接方式進(jìn)行匹配。
proxies = {'http://10.20.1.128': 'http://10.10.1.10:5323'}
注意,代理 URL 必須包含連接方式。
參考: http://docs.python-requests.org/zh_CN/latest/user/advanced.html