怎么建立代理Ip池

这篇文章主要介绍了怎么建立代理Ip池,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了会同免费建站欢迎大家使用!

说明

1、首先获取代理的json信息。

2、使用requests获取整个页面的text(字符串),然后使用split('\n') 将每行分割后形成的列表,方便该列表采用json.loads()方法,将每行的字符串转换成json对象,最终取值。

实例

  #!/usr/bin/env python3
 
 
 
  # coding:utf-8
 
 
 
  #lanxing
 
 
 
  import json
 
 
 
  import telnetlib
 
 
 
  import requests
 
 
 
  import random
 
 
 
  proxy_url = 'https://raw.githubusercontent.com/fate0/proxylist/master/proxy.list'
 
 
 
  # proxyList = []
 
 
 
  #定义函数,验证代理ip是否有效
 
 
 
  def verify(ip,port,type):
 
 
 
  proxies = {}
 
 
 
  try:
 
 
 
  telnet = telnetlib.Telnet(ip,port=port,timeout=3) #用这个ip请访问,3s自动断开,返回tiemout
 
 
 
  except:
 
 
 
  print('unconnected')
 
 
 
  else:
 
 
 
  #print('connected successfully')
 
 
 
  # proxyList.append((ip + ':' + str(port),type))
 
 
 
  proxies['type'] = type
 
 
 
  proxies['host'] = ip
 
 
 
  proxies['port'] = port
 
 
 
  proxiesJson = json.dumps(proxies)
 
 
 
  #保存到本地的proxies_ip.json文件
 
 
 
  with open('proxies_ip.json','a+') as f:
 
 
 
  f.write(proxiesJson + '\n')
 
 
 
  print("已写入:%s" % proxies)
 
 
 
  #定义函数,带着url地址去获取数据
 
 
 
  def getProxy(proxy_url):
 
 
 
  response = requests.get(proxy_url)
 
 
 
  #print(type(response))
 
 
 
  # 用split('\n') 将每一行分割之后组成的列表,消除换行影响
 
 
 
  proxies_list = response.text.split('\n')
 
 
 
  for proxy_str in proxies_list:
 
 
 
  # 用json.loads()方法,将每一行的字符串转换为json对象,最后取值
 
 
 
  proxy_json = json.loads(proxy_str)
 
 
 
  host = proxy_json['host']
 
 
 
  port = proxy_json['port']
 
 
 
  type = proxy_json['type']
 
 
 
  verify(host,port,type)
 
 
 
  #主函数,入口
 
 
 
  if __name__ == '__main__':
 
 
 
  getProxy(proxy_url)

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么建立代理Ip池”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


当前文章:怎么建立代理Ip池
文章位置:http://scyanting.com/article/pcdcec.html