Maison > Article > développement back-end > Python explore les adresses IP proxy disponibles
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 :
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 !