您的位置:首页 > 新闻资讯 >文章内容
代理IP的重复度验证与格式化
来源:互联网 作者:admin 时间:2019-12-05 10:44:27

  像一些爬虫玩家,他们会将网络上面一些免费提供代理IP的网站进行抓取,将这些免费IP给提取下来使用。那么当我们抓取之后,需要对这些IP进行什么操作呢?首先就是要验证代理IP是否重复以及进行格式化处理了,下面看看是如何进行的:

代理IP的重复度验证与格式化

  验证代理ip(check_ip.py)


  1、文件查重


  写一个简单的函数用于查重,查重思路就是获取txt文件中的每一行元素,组成列表。对列表使用自带的set函数,注意:这种方法会改变列表原来的顺序。函数如下:


  from bs4 import BeautifulSoup


  import requests


  import time


  def check_repeat(path):


  """


  检查文件中每一行的内容是否重复,删除重复内容


  :param path: 文件路径


  :return:


  """


  try:


  # 读取文件


  data_list = []


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


  lines = fr.readlines()


  fr.close()


  for line in lines:


  data_list.append(line)


  new_data_list = list(set(data_list)) # 查重


  file_name = path.split("/")


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


  print("经过查重,现在共有 " + str(len(new_data_list)) + " 条数据")


  # 保存文件


  with open(path, "w") as f:


  for i in range(len(new_data_list)):


  f.write(new_data_list[i])


  f.close()


  print(file_name[-1] + "文件查重成功")


  except Exception as e:


  print("文件查重失败!!!")


  print(e)


  2、代理IP格式化


  网页获取的ip的格式基本为以下格式:


  5.135.66.232___8554___透明___http___法国___XXXX___XX___7.869 秒___4秒前


  220.230.120.101___8286___高匿___http___韩国___XXXX___XX___4.14 秒___11秒前


  从页面解析出来的代理ip的信息中间都是使用“—”进行隔开,为了方便直接使用,在此需要将上述的的格式转换为以下格式:


  5.135.66.232:8554


  220.230.120.101:8286


  函数如下:


  def ip_format(read_path, save_path):


  """


  将文件中的代理ip进行格式化转换,并进行查重


  :param read_path: 读取待转换的代理ip的文件路径


  :param save_path: 转换完成的代理ip的保存路径


  :return:


  """


  data_list = []


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


  lines = fr.readlines()


  fr.close()


  for line in lines:


  new_line = line.split("___")


  ip_format_line = new_line[0].replace(" ", "") + ":" + new_line[1] + "\n"


  data_list.append(ip_format_line)


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


  for i in range(len(data_list)):


  fs.write(data_list[i])


  fs.close()


  print("文件保存成功")


  fs.close()


  以上就是机灵代理带来的代理IP的查重以及格式化操作步骤介绍,大家可以按照以上方式来对免费IP进行处理使用。


相关文章内容简介
推荐阅读
  • 21 2020-04
    代理ip可以​让爬虫采集什么

    随着互联网的飞速发展,大数据在各行各业都逐渐应用了,行业发展情况可以通过数据的变化知道,并做出调整,那么企业利用代理ip让爬虫采集什么数据?

  • 11 2019-11
    HTTP协议总共有多少个版本?

    HTTP协议总共有多少个版本?这些协议都会在HTTP代理IP中使用到吗?机灵代理下面整理了HTTP协议的介绍带给大家,让我们共同进一步认识HTTP代理。

  • 19 2019-05
    IP代理和代理服务器一样吗?

    IP代理和代理服务器一样吗?一般用户使用代理服务器,很多时间都是不知道,而使用IP代理大部分都是主观使用的。虽然IP代理又称代理服务器,英文名proxy server,是一种重要的服务器安全功能

  • 24 2019-04
    爬虫要依靠代理IP来躲过反爬虫机制

    爬虫要依靠代理IP来躲过反爬虫机制,这是一个比较常见的爬虫应对反爬的方法,毕竟许多网站做了反爬虫策略,或者会对每个IP做频次控制,这是因为自身抓取网站信息的强度和抓取速度太大

  • 14 2019-11
    代理服务器的工作流程与普通服务器有什么不同?

    总是看到有人上网会有代理IP,这是为什么?代理服务器跟我们普通服务器的响应流程是不一样的吗?我们用了代理服务器又能够享受到什么好处?

  • 29 2019-05
    抢票封IP怎么解决

    抢票封IP怎么解决?每逢节日,一票难求,各种代刷票上线。如果使用软件刷票,这是很容易被封IP的,使用同一个IP刷票,这是不可行的。那么这抢票封IP怎么解决呢?为何有“黄牛”能抢到票

在线咨询
大客户经理
大客户经理
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部