折腾:
【未解决】如何破解大众点评网页爬取时的反扒验证verify.meituan.com
期间,对于之前已购买的多贝云的动态IP代理,对于想要的效果:
每次请求IP都不同
其实单独测试:
- 单独写脚本用requests
- PySpider中UI中调试
- 访问:http://httpbin.org/get
都是可以正常的:
每次请求,IP都不同的
但是用PySpider中去批量运行时,结果却:
基本上有一半的请求(3000中有1500左右)的请求会被大众点评反扒
-》怀疑反扒是因为IP没有变化
对此,试了各种办法:
- 降低爬取频率
- PySpider中rate都改小为1了
- 增大代理最大请求数
- 重新买了最大每秒15次的请求数的多贝云的动态IP代理
也没啥改善。
所以现在想着,是不是多贝云的动态IP代理效果不够好:
在批量请求时,并不能保证每次IP都不同
所以,再去买个其他的动态IP代理试试。
根据之前的调研:
【已解决】找个好用的IP代理池实现防止大众点评网站的反扒
觉得阿布云好像也还行,所以去买试试:
![](https://www.crifan.org/files/pic/uploads/2021/09/c8c370dbd5c348deaaa6697b037c7066.jpg)
“资源优势
自有数据节点,网络稳定,速度快。
百万级别 IP 池,海量 IP 可用。
毫秒级别更换 IP,响应迅速。
无须频繁更换代理服务器地址和端口号,方便快捷。”
-》毫秒级别更换 IP,响应迅速。
-》希望后续批量运行时,短时间内
-》比如1秒4个 ->每次250毫秒内,IP确保每次都不同
” 请求头(默认)
通过用户名/密码的形式进行身份认证,该认证信息最终会转换为『Proxy-Authorization』协议头跟随请求一起发出。
为便于部分语言进行接入,平台亦支持通过『Authorization』协议头进行隧道身份验证。”
![](https://www.crifan.org/files/pic/uploads/2021/09/8f4c22a806b041d18172d310a153094b.jpg)
import requests # 要访问的目标页面 targetUrl = "http://test.abuyun.com" #targetUrl = "http://proxy.abuyun.com/switch-ip" #targetUrl = "http://proxy.abuyun.com/current-ip" # 代理服务器 proxyHost = "http-dyn.abuyun.com" proxyPort = "9020" # 代理隧道验证信息 proxyUser = "H01234567890123D" proxyPass = "0123456789012345" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host" : proxyHost, "port" : proxyPort, "user" : proxyUser, "pass" : proxyPass, } proxies = { "http" : proxyMeta, "https" : proxyMeta, } resp = requests.get(targetUrl, proxies=proxies) print resp.status_code print resp.text
去注册和购买
![](https://www.crifan.org/files/pic/uploads/2021/09/c21cb123e9da4ed9990a307761f505c5.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/a6748b9adbc749b99bbf71cfe952d6b1.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/04f3486feb7742a2a1d5342a03f666ad.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/0835cb06f6bb42a8ae4c2281613989a7.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/a4ebbbbe393c4a51ba61ff4db67285ae.jpg)
点击了 申请免费测试隧道后:
![](https://www.crifan.org/files/pic/uploads/2021/09/7e985e564a9e42c3929804ac37db6531.jpg)
到期时间:2019-04-26 13:11:00
-》免费测试时间:4个小时
接入文档:
常见问题:
“同一隧道使用的IP会重复吗?
不能保证 IP 的重复率为零,不过随着平台 IP 资源的不断丰富,重复的机率会越来越小。
HTTP隧道会尽量从 IP 池中分配一个尚未使用过的 IP,但如果池中的 IP 在当天都被隧道使用过,为了保证服务的可用性,隧道会随机分配一个可用 IP。
什么是 “每秒请求数”?
一秒内发起的请求总和。”
然后再去写代码测试 阿布云的代理IP是否每次请求IP都不同:
此处和之前多贝云,多了个隧道ID,不知道是干啥的
继续参考:
和
【已解决】用Python代码测试多贝云代理IP是否生效
用之前的测试代码:
# test proxy IP import requests #目标网址 targetUrl = "http://httpbin.org/get" # targetUrl = "http://test.abuyun.com" #targetUrl = "http://proxy.abuyun.com/switch-ip" #targetUrl = "http://proxy.abuyun.com/current-ip" #http代理接入服务器地址端口 proxyHost = "http-dyn.abuyun.com" proxyPort = "9020" #账号密码 proxyUser = "HW3S0D75ZWQ4877D" proxyPass = "06821B9A59096AE5" proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host" : proxyHost, "port" : proxyPort, "user" : proxyUser, "pass" : proxyPass, } proxies = { "http" : proxyMeta, "https" : proxyMeta, } result = requests.get(targetUrl, proxies=proxies) # result = requests.get(targetUrl) print("result=%s" % result) print("result.status_code=%s" % result.status_code) print("result.text=%s" % result.text)
效果是:
正常的,希望的,每次IP都不同
result=<Response [200]> result.status_code=200 result.text={ "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip", "Host": "httpbin.org", "User-Agent": "python-requests/2.19.1" }, "origin": "122.241.53.5, 122.241.53.5", "url": "https://httpbin.org/get" } result=<Response [200]> result.status_code=200 result.text={ "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip", "Host": "httpbin.org", "User-Agent": "python-requests/2.19.1" }, "origin": "175.169.245.67, 175.169.245.67", "url": "https://httpbin.org/get" } result=<Response [200]> result.status_code=200 result.text={ "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip", "Host": "httpbin.org", "User-Agent": "python-requests/2.19.1" }, "origin": "183.188.212.56, 183.188.212.56", "url": "https://httpbin.org/get" }
查查这几个IP都是哪里的:
![](https://www.crifan.org/files/pic/uploads/2021/09/3ef8a50273624a5c9fbb7aa78b9098f1.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/41d110c73100405fbd750bb98237da42.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/7262851a1e5c47bf8a11088e6cf35403.jpg)
看起来效果不错。
【后记】
后来试用账号过期了:
![](https://www.crifan.org/files/pic/uploads/2021/09/7a0de6bb543940c88de34d7a81af633f.jpg)
去购买
申请免费测试隧道 还没灰色,好像可以点击
难到还能点击试用?
![](https://www.crifan.org/files/pic/uploads/2021/09/586ff0f2dced44e782aa19f3d3b4204c.jpg)
不能。提示了:新用户方可申请测试。
去购买吧
另外,还允许按小时购买:
![](https://www.crifan.org/files/pic/uploads/2021/09/5232f48eb8094c449a187fa03e3fe5e2.jpg)
可选方式挺多的。
购买一天的:
![](https://www.crifan.org/files/pic/uploads/2021/09/c1a363a8e9394cf39526e75201d64f73.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/1f12d616280542cfa60d71000a87ea35.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/baed5e8c13f64f82b474ed8e8a88e826.jpg)
用支付宝去付款后:
![](https://www.crifan.org/files/pic/uploads/2021/09/46beae5d81f340b4a442369203a309a6.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/bcfc3b4133274040a5a05627f37e2fea.jpg)
然后就可以继续放到代码中用了。
后来过期了,再去选购一天
![](https://www.crifan.org/files/pic/uploads/2021/09/a1965921f2284137a733265c1e94b470.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/668b5657308e48d1bfba03292abcecda.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/b4df823584244b62ba3eb1e215079461.jpg)
之前过期了。现在去,重新购买,且加大每秒请求数
![](https://www.crifan.org/files/pic/uploads/2021/09/700602020c664ca59f0a24ff893d8487.jpg)
![](https://www.crifan.org/files/pic/uploads/2021/09/775d240785764377bde16ee4aa1b1551.jpg)
继续续费:
![](https://www.crifan.org/files/pic/uploads/2021/09/136a6323aa054621b4521de422d9a194.jpg)
过期了,再去续费
![](https://www.crifan.org/files/pic/uploads/2021/09/49d2db7bb5364f1ab1f89c123ee08b24.jpg)
转载请注明:在路上 » 【记录】购买阿布云的每次请求IP都不同的动态IP代理