python爬虫中urllib库代理的设置方法-创新互联

这篇文章给大家分享的是有关python爬虫中urllib库代理的设置方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

专注于为中小企业提供成都网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业漳州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

关于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库代理的设置方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前文章:python爬虫中urllib库代理的设置方法-创新互联
文章来源:http://pwwzsj.com/article/eoepd.html