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


相关文章内容简介
推荐阅读
  • 05 2019-09
    如何利用代理ip上网

    日常生活中,我们上网可能不想使用自己电脑的IP,又或者需要换IP申请某某的东西,甚至可以看看一些限制的网站,怎么办呢?下面一步步教大家如何利用代理ip上网。

  • 30 2019-10
    不同种类的代理IP为什么相差这么大

    很多朋友都有这样的疑问,为什么这个免费代理都用不了,为什么这个普通代理质量这么差,为什么这个开放代理用的很上火,为什么这个短效优质代理有效期这么短,为什么这个一手私密代理

  • 04 2019-01
  • 18 2019-06
    爬虫代理IP不够的问题

    在爬虫工作过程中,经常会被目标网站禁止访问,但又找不到原因,这是令人非常恼火的事情。一般来说,目标网站的反爬虫策略都是依靠IP来标识爬虫的,很多时候,我们访问网站的IP地址会

  • 09 2019-08
    用免费代理IP容易受连累

    免费代理IP不需要花钱,所以使用的人很多,唯一的缺点应该就是效果不好,可用率低,因为免费还是有很多人使用。使用代理IP常见的业务有注册、投票、发帖等等,但是免费代理IP,别人也在

  • 14 2020-02
    电脑如何查看IP配置

    电脑如何查看IP配置?有时候小伙伴们需要知道自己电脑的IP地址或默认网关,但大多数我们家用电脑一般都是自动获取IP的,所以在“网络连接”里面是查看不到的。下面教大家一个方便快捷,