Maison  >  Article  >  développement back-end  >  Python explore les adresses IP proxy disponibles

Python explore les adresses IP proxy disponibles

高洛峰
高洛峰original
2017-02-25 10:57:121837parcourir

Avant-propos

Prenons comme exemple un site Web IP proxy gratuit récemment découvert : http://www.xicidaili.com/nn/. Lors de son utilisation, j'ai constaté que de nombreuses adresses IP ne pouvaient pas être utilisées.

J'ai donc écrit un script en Python, qui peut détecter les IP proxy disponibles.

Le script est le suivant :

#encoding=utf8
import urllib2
from bs4 import BeautifulSoup
import urllib
import socket
 
User_Agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'
header = {}
header['User-Agent'] = User_Agent
 
'''
获取所有代理IP地址
'''
def getProxyIp():
 proxy = []
 for i in range(1,2):
  try:
   url = 'http://www.xicidaili.com/nn/'+str(i)
   req = urllib2.Request(url,headers=header)
   res = urllib2.urlopen(req).read()
   soup = BeautifulSoup(res)
   ips = soup.findAll('tr')
   for x in range(1,len(ips)):
    ip = ips[x]
    tds = ip.findAll("td")
    ip_temp = tds[1].contents[0]+"\t"+tds[2].contents[0]
    proxy.append(ip_temp)
  except:
   continue
 return proxy
  
'''
验证获得的代理IP地址是否可用
'''
def validateIp(proxy):
 url = "http://ip.chinaz.com/getip.aspx"
 f = open("E:\ip.txt","w")
 socket.setdefaulttimeout(3)
 for i in range(0,len(proxy)):
  try:
   ip = proxy[i].strip().split("\t")
   proxy_host = "http://"+ip[0]+":"+ip[1]
   proxy_temp = {"http":proxy_host}
   res = urllib.urlopen(url,proxies=proxy_temp).read()
   f.write(proxy[i]+'\n')
   print proxy[i]
  except Exception,e:
   continue
 f.close()
 
    
if __name__ == '__main__':
 proxy = getProxyIp()
 validateIp(proxy)

Après une exécution réussie, ouvrez le fichier sous le lecteur E et vous pouvez voir Les adresses IP et ports proxy disponibles suivants sont :

Python explore les adresses IP proxy disponibles

Résumé

C'est juste la première adresse IP d'exploration de la page. Si nécessaire, vous pouvez explorer quelques pages supplémentaires. Dans le même temps, le site Web est mis à jour de temps en temps, il est donc recommandé de n'explorer que les premières pages lors de l'exploration. Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à tous ceux qui apprennent à utiliser Python.

Pour plus d'articles liés aux IP proxy disponibles pour l'exploration Python, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn