浏览 256 次
锁定老帖子 主题:如何在爬虫过程中精确控制ip的使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2021-08-04
一般面对这样的情况,我们可以选择通过登录获取cookie然后再配合代理ip进行数据的获取。这里就我们着重的分享下如何在使用代理过程中精确的控制ip切换。列如我们访问的目标网站需要登录,获取数据两个请求在一个Ip下进行。这里我们就可以通过设置随机数来实现,tunnel = random.randint(1,10000)headers = {"Proxy-Tunnel": str(tunnel)},(1)当tunnel每次不同,就会给每个HTTP请求随机分配一个代理IP。(2)如果tunnel相同。这些HTTP请求的代理IP就是相同的,直到使用到最后时效。我们就以访问豆瓣为例看下使用过程,代码示例来源于https://www.16yun.cn/help/ss_demo/#1python #! -*- encoding:utf-8 -*- import requests import random # 要访问的目标页面 targetUrl = "https://www.douban.com/" # 要访问的目标HTTPS页面 # targetUrl = "https://www.douban.com/" # 代理服务器(产品官网 www.16yun.cn) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理验证信息 proxyUser = "16PLWHBW" proxyPass = "379779 " 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)} resp = requests.get(targetUrl, proxies=proxies, headers=headers) print resp.status_code print resp.text 但是这这种代理的使用方式只适合在动态转发模式里,有需要的小伙伴可以实践下。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |