python爬取快代理IP并测试IP的可用性
生活随笔
收集整理的這篇文章主要介紹了
python爬取快代理IP并测试IP的可用性
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用到的網(wǎng)站https://www.kuaidaili.com/,免費(fèi)的IP很不穩(wěn)定,隨時(shí)會(huì)掛,有需求的還是購買付費(fèi)IP比較穩(wěn)
import requests from urllib import parse from bs4 import BeautifulSoupheaders={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' }session=requests.session() session.headers=headers# 獲取IP地址頁面 def getIP(url):html=requests.get(url)# print(html.status_code)# print(html.text)if html.status_code==200:html.encoding=html.apparent_encodingsoup=BeautifulSoup(html.text,'lxml')trs=soup.select('tbody tr')for tr in trs:ip=tr.select('td')[0].textport=tr.select('td')[1].texttype=tr.select('td')[3].textTestIP(ip,port,type)# 測試IP代理的可用性,并將可用IP寫入文件 def TestIP(ip,port,type):url="https://www.baidu.com"proxies={'http':'{}://{}:{}'.format(type,ip,port),'https':'{}://{}:{}'.format(type,ip,port)}# print(proxies)try:re=session.get(url,proxies=proxies,timeout=2,verify=False)print(re.status_code)print("可用IP為{}://{}:{}".format(type,ip,port))f.write("{}://{}:{}\n".format(type,ip,port)) # 寫入文件except:print("不可用IP為{}://{}:{}".format(type,ip,port))if __name__ == '__main__':t=input("請輸入要爬取的頁數(shù),每頁15個(gè):")url1="https://www.kuaidaili.com/free/intr/"with open('IP代理.txt','w') as f:for i in range(int(t)):url=parse.urljoin(url1,str(i+1))print(url)getIP(url)?
總結(jié)
以上是生活随笔為你收集整理的python爬取快代理IP并测试IP的可用性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python小技巧——快速给大量文件命名
- 下一篇: Python爬百度图片并下载到本地实战