爬虫中的Proxy-Tunnel是如何自主切换IP的
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要讲解了"爬虫中的Proxy-Tunnel是如何自主切换IP的",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"爬虫中的Proxy-Tunnel
千家信息网最后更新 2025年01月16日爬虫中的Proxy-Tunnel是如何自主切换IP的
这篇文章主要讲解了"爬虫中的Proxy-Tunnel是如何自主切换IP的",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"爬虫中的Proxy-Tunnel是如何自主切换IP的"吧!
在采集数据的过程这欧中我们经常会遇到这样的问题,目标网站需要登录,获取数据的两个请求在一个IP下完成,这时我们就只需对这组请求设置相同Proxy-Tunnel。例如:Proxy-Tunnel: 12345, 该组请求在代理有效期内使用相同的代理IP。这就是亿牛云的Proxy-Tunnel自主切换IP,该模式适合一些需要登陆、Cookie缓存处理等爬虫需要精确控制IP切换时机的业务。 爬虫程序可以通过设置HTTP头Proxy-Tunnel: 随机数, 当随机数相同时,访问目标网站的代理IP相同。
#! -*- encoding:utf-8 -*- import urllib2 import random import httplib class HTTPSConnection(httplib.HTTPSConnection): def set_tunnel(self, host, port=None, headers=None): httplib.HTTPSConnection.set_tunnel(self, host, port, headers) if hasattr(self, 'proxy_tunnel'): self._tunnel_headers['Proxy-Tunnel'] = self.proxy_tunnel class HTTPSHandler(urllib2.HTTPSHandler): def https_open(self, req): return urllib2.HTTPSHandler.do_open(self, HTTPSConnection, req, context=self._context) # 要访问的目标页面 targetUrlList = [ "https://httpbin.org/ip", "https://httpbin.org/headers", "https://httpbin.org/user-agent", ] # 代理服务器(产品官网 www.16yun.cn) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理验证信息 proxyUser = "username" proxyPass = "password" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host": proxyHost, "port": proxyPort, "user": proxyUser, "pass": proxyPass, } # 设置 http和https访问都是用HTTP代理 proxies = { "http": proxyMeta, "https": proxyMeta, } # 设置IP切换头 tunnel = random.randint(1, 10000) headers = {"Proxy-Tunnel": str(tunnel)} HTTPSConnection.proxy_tunnel = tunnel proxy = urllib2.ProxyHandler(proxies) opener = urllib2.build_opener(proxy, HTTPSHandler) urllib2.install_opener(opener) # 访问三次网站,使用相同的tunnel标志,均能够保持相同的外网IP for i in range(3): for url in targetUrlList: r = urllib2.Request(url) print(urllib2.urlopen(r).read())
感谢各位的阅读,以上就是"爬虫中的Proxy-Tunnel是如何自主切换IP的"的内容了,经过本文的学习后,相信大家对爬虫中的Proxy-Tunnel是如何自主切换IP的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
切换
爬虫
相同
代理
目标
网站
学习
内容
就是
数据
问题
随机数
验证
有效
精确
业务
两个
产品
信息
只需
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
win10代理服务器无法使用
传一手机软件开发
国土空间规划数据库意义
网络安全靠人民的班会
常用的文件检索数据库有
答题软件开发
stm32 数据库下载
济南小程序软件开发中心
如何配置服务器带外管理地址
一卡通系统软件开发
芜湖app软件开发
嘉兴云软件开发需要学什么
es加载不到数据库
什么叫数据库处理
hql如何查询两条数据库
数据库中间件安全解决方案
阿里云服务器增加带宽
远程视频会议软件开发者
启动数据库实例名
互联网科技大纲
数据库去重是什么意思
计算机等级考试网络技术题型
重庆雪毅网络技术
监控网络安全工程师
软件开发的报表是什么
java怎么连接服务器
如何把网络安全保护在手机上
bash 服务器
个人网络安全情况说明
远程视频会议软件开发者