python爬虫中的urllib库代理如何设置?

python

对于爬虫,想必大家从各个方面,以及需求上都了解过很多,小伙伴们也喜欢去了解这个内容,因为绝大部分的python学习者,会去从事这个岗位,因此,对于最经常使用的几个功能,小编要告知大家,譬如,今天的主题,就是小伙伴们留言给小编,要阐述的内容,内容很重要,要仔细阅读下文呢~

关于urllib

urllib 库一般使用 ProxyHandler 设置代理,参数是字典类型,键名是协议。

urllib代理设置代码如下

from urllib.error import URLError

from urllib.request import ProxyHandler

from urllib.request import build_opener

 

# 通过ProxyHandler来设置代理服务器,参数为字典类型,键名为协议,键值为代理

proxy_handler = ProxyHandler({"http": "http://113.120.33.75:9999",

                              "https":"https://120.83.99.72:9999"})

 

# 创建一个opener对象,比openurl多了一个header

opener = build_opener(proxy_handler)

try:

    # 通过opener对象打开url

    response = opener.open("http://httpbin.org/get")

    print(response.read().decode("utf-8"))

except URLError as e:

print(e.reason)

结果会出现两种情况

[WinError 10061] 由于目标计算机积极拒绝,无法连接。
解决方法:主要是代理不可用,更换代理就行

[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。  

解决方法:将浏览器的代理设置中的局域网设置,里面的自动配置脚本选项改为自动检测设置即可。

运行结果如下,可以看到origin已经改成了代理IP

{

  "args": {},

  "headers": {

    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",

    "Accept-Encoding": "gzip, deflate",

    "Accept-Language": "zh-CN,zh;q=0.9",

    "Host": "httpbin.org",

    "Upgrade-Insecure-Requests": "1",

    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"

  },

  "origin": "113.120.33.75, 113.120.33.75",

  "url": "https://httpbin.org/get"

}

这样就可以完成代理设置了哦,之后如果大家遇到一样的问题,可以查看这个内容,直接套用代码就可以解决了哦~

以上是 python爬虫中的urllib库代理如何设置? 的全部内容, 来源链接: utcz.com/z/529715.html

回到顶部