代理ip

>

换ip软件

>

http代理

>

ip代理

您的位置:首页 > 新闻资讯 > 文章内容
筛选代理ip的方法
来源:互联网 作者:admin 时间:2020-02-20 17:47:47

  在搜索引擎上找到的免费代理IP网站,我们对其进行爬取之后,这些IP需要经过检测。因为免费代理IP的可用率是比较低的,因为它的开放性,所以需要经过这么一步才能将有用的IP筛选下来。



  1、代理IP验证


  由于免费的代理IP很多都是无法使用,或是不稳定,或是时效短。所以验证代理ip是否可用,就非常有必要。主要验证原理:使用代理ip去访问网页,判断是否能够正常访问。在此我选择的网站是“站长之家”,这个网站可用直接返回你当前使用的ip以及ip所在地。这里需要注意的是访问前可以设定连接超时的时间如果访问时间超过一定时间,就直接跳过这个代理ip。建议是设定在2秒内,具体的可以看以下函数:


  def ip_test(ip_proxies):


  """


  验证单个代理ip是否可用


  :param ip_proxies:待验证ip,例如:101.96.10.36:88


  :return:


  """


  url="http://ip.chinaz.com/"


  headers={


  "Host":"ip.chinaz.com",


  "User-Agent":"Mozilla/5.0(Windows NT 10.0;WOW64;rv:60.0)Gecko/20100101 Firefox/60.0",


  "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",


  "Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",


  "Accept-Encoding":"gzip,deflate",


  "Referer":"https://blog.csdn.net/Winterto1990/article/details/51220307",


  "Connection":"keep-alive",


  "Upgrade-Insecure-Requests":"1",


  "Cache-Control":"max-age=0",


  }


  proxies={"http":"http://"+ip_proxies,}#设置代理


  res=requests.get(url,headers=headers,proxies=proxies,timeout=1)#timeout为设定的相应时长,建议在2秒内


  #解析网页


  soup=BeautifulSoup(res.text,"html.parser")


  info_list=soup.find_all("p",{"class":"getlist pl10"})


  for info in info_list:


  is_local=info.get_text()


  print(info.get_text())


  return is_local.find("XXX.XXX.XXX.XXX")#判断是否为本地的地址


  2、批量验证代理IP


  要批量的对代理IP进行验证,实际上这就是调用上一步中验证代理ip中的程序。具体程序如下:


  def ip_batch_inspection(read_path,save_path):


  """


  验证多个代理ip是否可用


  :param read_path:代理ip文件路径


  :param save_path:验证可用的代理ip保存路径


  :return:


  """


  with open(read_path,"r")as fr:


  lines=fr.readlines()


  fr.close()


  count=0


  file_name=read_path.split("/")


  print(file_name[-1]+"文件共有"+str(len(lines))+"条数据")


  for line in lines:


  count+=1


  ip_proxies=line.replace("\n","")


  try:


  is_local=ip_test(ip_proxies)#如果是本地ip,返回值为大于0数值


  if is_local<0:


  with open(save_path,"a")as fs:


  fs.write(ip_proxies+"\n")


  except Exception as e:


  pass


  #print("ip不可用")


  print("验证中......%.2f%%"%(count/len(lines)*100))


  print("验证完毕")


  完成以上2步之后,我们就完成了免费代理IP的使用前准备了,可以放到代理IP池,等到之后需要时候再调用。


相关文章内容简介
推荐阅读
  • 21 2020-08
  • 21 2019-09
    代理服务器支持HTTPS难吗

    代理服务器支持HTTPS难吗?我们开展稳定高匿名HTTP代理业务以来,我听到客户咨询最多的问题之一就是“你们的代理支持HTTPS协议吗?”。我觉得很多人对HTTPS代理存在理解上的误区,所以我写

  • 23 2018-11
  • 19 2020-01
    IP代理分为哪几类

    IP代理分为哪几类?IP代理通常按以下两类分类:一类是协议分类,另一类是匿名分类。根据代理协议,代理可分为以下几类:FTP代理服务器:主要用于访问FTP服务器。通常,它具有上载,下载

  • 26 2019-07
    为什么使用动态换IP软件防止被封

    在网络的实际使用过程中,换IP软件防封很常见,从目前的市场来看,网连代理软件还是很有优势的,价格低,还是自建的动态IP服务器,因此综合比拼中占很大的优势,这也是越多越多的用户

  • 23 2018-12