爬虫项目选择隧道代理ip

时隔三年,再次需要使用代理,才发现三年的时间沧海桑田,当时的代理产品已经仅剩无几了。。又是一番新的调研和测试。
目前市面上常见的有两类:
一类是转发服务(动态转发,隧道等等不同命名方式),只需要挂上一个固定的服务器地址作为代理,商家会自动切换不同的代理来为我们转发请求,有允许手动操作是否更换代理的,也有强制必须每次请求都更换的,一般根据请求数并发限制或者切换间隔时间来收取不同的费用。这个还是比较适合程序采集的,可以免去维护本地代理池。
另外一类就是传统的直接给代理ip和端口号(api代理,私密代理,短效代理等等不同命名方式)。通过请求一个接口直接返回代理ip和端口号,有些则会返回二次封装过的虚拟ip。
贵的不一定是好的,适合自己项目的才好。因为各家都会做不一样的限制,有的限制并发数,有的限制流量,还有的限制访问域名。所以结合自己的项目做实际业务测试很重要!!
最后我这个项目用了一个叫微秒云的,有兴趣的自己去看一下。使用下来整体还是不错的,但是有几个缺点,主要是代理限速,不适合流量大的请求。
最后还是要强调,多要测试多要测试多要测试,亲身经历付费后想要退款太费劲了。和客服说自己是对公业务,以公司名义让客服把测试往死里开。
最后附上我的测试代码

#官网 http://www.weimiaocloud.com
import requests
# 隧道代理服务器地址
ip_port = 'ng001.weimiaocloud.com:9003'
proxy = {"https": "http://" + ip_port}

def targetUrl():
  url = 'https://httpbin.org/ip'
  return url

def getData(i):
  headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.55 Safari/537.36',
  }
  try:
    response = requests.get(targetUrl(),headers=headers,proxies=proxy)
    response.encoding='utf-8'
    print(response.text)
  except requests.exceptions.RequestException as e:
    print(e)

if __name__=='__main__':
  for i in range(0,5):
    getData(i)

你可能感兴趣的:(爬虫项目选择隧道代理ip)