最新消息:20210917 已从crifan.com换到crifan.org

【记录】购买阿布云的每次请求IP都不同的动态IP代理

代理 crifan 636浏览 0评论
折腾:
【未解决】如何破解大众点评网页爬取时的反扒验证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代理池实现防止大众点评网站的反扒
觉得阿布云好像也还行,所以去买试试:
HTTP隧道产品 | 阿布云 – 为大数据赋能
动态版HTTP隧道服务说明 | 阿布云 – 为大数据赋能
“资源优势
自有数据节点,网络稳定,速度快。
百万级别 IP 池,海量 IP 可用。
毫秒级别更换 IP,响应迅速。
无须频繁更换代理服务器地址和端口号,方便快捷。”
-》毫秒级别更换 IP,响应迅速。
-》希望后续批量运行时,短时间内
-》比如1秒4个 ->每次250毫秒内,IP确保每次都不同
动态版HTTP隧道接入指南 | 阿布云 – 为大数据赋能
” 请求头(默认)
通过用户名/密码的形式进行身份认证,该认证信息最终会转换为『Proxy-Authorization』协议头跟随请求一起发出。
为便于部分语言进行接入,平台亦支持通过『Authorization』协议头进行隧道身份验证。”
HTTP隧道(动态版)Python 接入指南| 阿布云 – 为大数据赋能
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
去注册和购买
用户注册 | 阿布云 – 为大数据赋能
阿布云 – 服务管理控制台
阿布云 – 服务管理控制台
点击了 申请免费测试隧道后:
到期时间:2019-04-26 13:11:00
-》免费测试时间:4个小时
接入文档:
动态版HTTP隧道接入指南 | 阿布云 – 为大数据赋能
常见问题:
HTTP隧道功能类常见问题 | 阿布云 – 为大数据赋能
“同一隧道使用的IP会重复吗?
不能保证 IP 的重复率为零,不过随着平台 IP 资源的不断丰富,重复的机率会越来越小。
HTTP隧道会尽量从 IP 池中分配一个尚未使用过的 IP,但如果池中的 IP 在当天都被隧道使用过,为了保证服务的可用性,隧道会随机分配一个可用 IP。
什么是 “每秒请求数”?
一秒内发起的请求总和。”
然后再去写代码测试 阿布云的代理IP是否每次请求IP都不同:
此处和之前多贝云,多了个隧道ID,不知道是干啥的
继续参考:
https://www.abuyun.com/http-proxy/dyn-manual-python.html
【已解决】用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都是哪里的:
看起来效果不错。
【后记】
后来试用账号过期了:
去购买
申请免费测试隧道 还没灰色,好像可以点击
难到还能点击试用?
不能。提示了:新用户方可申请测试。
去购买吧
另外,还允许按小时购买:
可选方式挺多的。
购买一天的:
用支付宝去付款后:
阿布云 – 服务管理控制台
然后就可以继续放到代码中用了。
后来过期了,再去选购一天
之前过期了。现在去,重新购买,且加大每秒请求数
继续续费:
过期了,再去续费

转载请注明:在路上 » 【记录】购买阿布云的每次请求IP都不同的动态IP代理

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.192 seconds, using 23.36MB memory