欧美成a人片在线观看久,久久久久亚洲av无码专区桃色,久久久婷婷五月亚洲97号色,久久亚洲中文字幕精品一区,另类av

篩選免費(fèi)ip代理的步驟

發(fā)布時(shí)間:2020-07-08 關(guān)注熱度:°C

  在搜索引擎上找到的免費(fèi)ip代理網(wǎng)站,我們對(duì)其進(jìn)行爬取之后,這些IP需要經(jīng)過(guò)檢測(cè)。因?yàn)槊赓M(fèi)ip代理的可用率是比較低的,因?yàn)樗哂虚_放性,所以要經(jīng)過(guò)下面步驟才能將有用的IP篩選出來(lái)。

免費(fèi)ip代理的篩選驗(yàn)證步驟

  1、ip代理驗(yàn)證

  由于免費(fèi)的ip代理很多都是無(wú)法使用,或是不穩(wěn)定,或是時(shí)效短。所以驗(yàn)證ip代理是否可用,就非常有必要。主要驗(yàn)證原理:使用ip代理去訪問(wèn)網(wǎng)頁(yè),判斷是否能夠正常訪問(wèn)。在此我選擇的網(wǎng)站是“站長(zhǎng)之家”,這個(gè)網(wǎng)站可用直接返回你當(dāng)前使用的ip以及ip所在地。這里需要注意的是訪問(wèn)前可以設(shè)定連接超時(shí)的時(shí)間如果訪問(wèn)時(shí)間超過(guò)一定時(shí)間,就直接跳過(guò)這個(gè)ip代理。建議是設(shè)定在2秒內(nèi),具體的可以看以下函數(shù):

  def ip_test(ip_proxies):

  """

  驗(yàn)證單個(gè)ip代理是否可用

  :param ip_proxies: 待驗(yàn)證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, } # 設(shè)置代理

  res = requests.get(url, headers=headers, proxies=proxies, timeout=1) # timeout為設(shè)定的相應(yīng)時(shí)長(zhǎng),建議在2秒內(nèi)

  # 解析網(wǎng)頁(yè)

  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、批量驗(yàn)證ip代理

  要批量的對(duì)ip代理進(jìn)行驗(yàn)證,實(shí)際上這就是調(diào)用上一步中驗(yàn)證ip代理中的程序。具體程序如下:

  def ip_batch_inspection(read_path, save_path):

  """

  驗(yàn)證多個(gè)ip代理是否可用

  :param read_path: ip代理文件路徑

  :param save_path: 驗(yàn)證可用的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)) + " 條數(shù)據(jù)")

  for line in lines:

  count += 1

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

  try:

  is_local = ip_test(ip_proxies) # 如果是本地ip,返回值為大于0數(shù)值

  if is_local < 0:

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

  fs.write(ip_proxies + " ")

  except Exception as e:

  pass

  # print("ip不可用")

  print("驗(yàn)證中......%.2f%%" % (count/len(lines)*100))

  print("驗(yàn)證完畢")

  完成以上2步之后,我們就完成了免費(fèi)ip代理的使用前準(zhǔn)備了,可以放到ip代理池,等到之后需要時(shí)候再調(diào)用。

 

版權(quán)聲明:本文為IP海(iphai.cn)原創(chuàng)作品,未經(jīng)許可,禁止轉(zhuǎn)載!

Copyright © www.wibm.ac.cn. All Rights Reserved. IP海 版權(quán)所有.
IP海僅提供中國(guó)內(nèi)IP加速服務(wù),無(wú)法跨境聯(lián)網(wǎng),用戶應(yīng)遵守《服務(wù)條款》內(nèi)容,嚴(yán)禁用戶使用IP海從事任何違法犯罪行為。
ICP備案鄂ICP備19030659號(hào)-3 公安備案鄂公網(wǎng)安備42100302000141號(hào) 計(jì)算機(jī)軟件著作權(quán)證計(jì)算機(jī)軟件著作權(quán)證 ICP/EDI許可證ICP/EDI許可證:鄂B2-20200106

微信掃一掃咨詢