python中怎么使用HTTP代理

python中怎么使用http代理。
以下代码主要围绕第一次接触http代理ip的python新手来写。(步骤注释清晰)
直接把下面示例代码中的http代理api,替换成你后台生成的代理api链接,就可以跑起来了。
以下是一个示例代码,只是一个基础的演示,具体的代码还是要根据你业务的实际情况去写的。
示例代码中的http代理ip,我使用的是华益云的http代理,注册就白嫖1万个高匿爬虫ip,有效期是一年,对于调试代码来说这个时间是非常的友好。(步骤注释清晰)
示例代码demo中同款http代理api-点我免费领取10000个高匿ip
打开代理api,获取里面的ip,使用ip访问目标网站,其实代码中就是执行这个过程而已,然后加了几个错误判断有助于代码的稳定运行。
# 此版本无需安装依赖import urllibimport urllib.requestimport urllibdef main(): # 发送给服务器的标识 useragent = mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/532.36 (khtml, like gecko) chrome/97.0.4692.99 safari/537.36 # 代理api(这里我推荐使用www.9vps.com华益云的http代理api,注册就白嫖1万ip) proxyurl = http://http.9vps.com/getip.asp?username=166xxxx6597&pwd=xxxxbaa59ce237dff65134984b9cxxxx&geshi=1&fenge=1&fengefu=&contenttype=1&getnum=20&setcity=&operate=all&; # 请求代理url,获取代理ip outputproxy = getproxy(proxyurl, useragent) if len(outputproxy)==0: # 没有获取到代理 return # 目标请求网站 # https://httpbin.org/get url = https://www.qq.com/ content = none for _ in range(0, 3): # 最多尝试三次 try: # 从列表中取出一个代理出来 proxy = outputproxy.pop(0) px = { http: proxy, https: proxy } content = requestget(url, useragent, px) break except exception as e: print(e) if (len(outputproxy) == 0): # 如果发现没有代理了,就去获取下。 outputproxy = getproxy(proxyurl, useragent) print(content)def getproxy(proxyurl, useragent): proxyips= outputproxy = [] try: proxyips = requestget(proxyurl, useragent, none) print((proxyips), proxyips) # {code:3002,data:[],msg:error!用户名或密码错误,success:false} if { in proxyips: raise exception([错误]+proxyips) outputproxy = proxyips.splitlines() except exception as e: print(e) print(总共获取了+str(len(outputproxy))+个代理) return outputproxydef requestget(url, useragent, proxy): headers = { user-agent: useragent } # httpproxy_handler = urllib.proxyhandler({http : 180.104.192.217:22036}) response = none if (proxy): proxyhandler = urllib.request.proxyhandler(proxy) opener = urllib.request.build_opener(proxyhandler, urllib.request.httphandler) urllib.request.install_opener(opener) request = urllib.request.request(url, headers=headers) response = urllib.request.urlopen(request, timeout=5) else: # 没有代理走这个 request = urllib.request.request(url, headers=headers) response = urllib.request.urlopen(request, timeout=5) #response = opener.open(request) html = response.read() # # 设置编码,防止乱码 # 手动设置网页字符编码方式 return html.decode(utf-8, ignore)main()
晶圆代工需求热度上涨,芯片产能持续爆满
HarmonyOS应用开发-module名字冲突解决方案
Andon系统按钮拉绳盒的规格和定制要点
尼得科与瑞萨电子合作开发新一代电动汽车用电驱系统E-Axle的半导体解决方案
HP8152A好货靓价HP8152A光功率计
python中怎么使用HTTP代理
亚马逊在英国成立无人驾驶配送技术团队
OpenHarmony高校技术俱乐部计划发布
国产手机选哪个品牌?华为p10闪存门了!小米6重启门了!然而oppo却置身事外咯
温补振荡器的温度补偿原理及未来方向
台湾为保芯片生产 切断农田的灌溉系统
Ruff Chain:物联网将因区块链而改变
在电路中怎么辨别运放和电压比较器?
太阳能电池板参数和安装方法
罗德与施瓦茨助力Raydiall 和Yazaki验证用于1000BASE-T1的单对以太网SPE连接器
第三代半导体行业龙头遇上资深专家,会碰撞出什么火花?
苹果:采用5nm制程工艺的A14处理器发布
5G时代助力下 电视将成为家庭的中心
边缘路由器ER605助力连锁超市门店实现网络高效管理
看看魅蓝5s第一批用户如何评价?真有那么好用吗?