代理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池,等到之后需要时候再调用。


相关文章内容简介
推荐阅读
  • 09 2018-11
  • 10 2019-09
    如何选择好用的http代理服务商?

    在很多时候,我们需要用到http代理,在这个时候,使用http代理的时候,就需要选择合适的服务商。但是网络上的服务商非常多,从这么多的服务商中选择合适的服务商,是一项很费力的事情。

  • 21 2019-08
    http代理的原理简单描述

    代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用。本文来为大家简单描述http代理的原理。客户端>>>服务器 客户端发送request给服务器,socket在建立时就已经指定了host,port,所以reques

  • 16 2019-07
    换IP软件可以保证网络安全吗?

    换IP软件​可以保证网络安全吗?当我们上网时,我们真实的IP可能会被泄露,如果被别有用心的人获取的话,可能会对我们的生活造成一些影响。但如果使用了代理IP软件之后,就能隐藏我们的

  • 16 2019-09
    什么是独享IP

    在网络中,我们可以做很多事情,浏览网页购物做业务,现在网络电商时代全面开启,越来越多的人投入到网络营销中,这也促使了代理IP​行业的发展,在一些网络业务中,抢购注册投票数据

  • 31 2019-07
    代理ip哪个比较好用

    在现在这个社会,网络迅速发展,代理IP迅速崛起,不管国内还是国外,用户们都可以随时随地得使用代理IP。然而由于市场的巨大和开放,当今IP代理行业可以说是鱼龙混杂,想要找到一个比较