实战项目一:爬取西刺代理(获取代理IP)
生活随笔
收集整理的這篇文章主要介紹了
实战项目一:爬取西刺代理(获取代理IP)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
爬蟲的學習就是與反扒措施、反扒系統做斗爭的一個過程,而使用代理IP是我們重要的防反扒的重要措施,代理IP的來源有兩種一是你花錢去購買商家會給你提供一個接口你直接調用就可以了,二是自己在網上爬取高效IP。在這篇博客中我重點給大家講一下如何從網上獲取高效IP,我們下面的IP來源于西刺代理,這是我很久之前寫的一篇博客,今天來進行“翻新”一番希望可以幫助到大家。
安裝必要的第三方庫
BeautifulSoup和requests,BeautifulSoup負責解析HTML網頁源碼,requests負責發送請求來獲取網頁源碼,BeautifulSoup和requests均屬于Python爬蟲的基礎庫,可以通過pip安裝。打開命令行輸入命令pip install BeautifulSoup4和pip install requests進行安裝:
過后在輸入命令pip list在pip安裝包列表中檢查BeautifulSoup和requests庫是否安裝成功
分析網頁結構
待續。。。。
完整代碼
#IP地址取自國內髙匿代理IP網站:http://www.xicidaili.com/nn/ from bs4 import BeautifulSoup import requests,randomdef get_ipInfors(url, headers):'''爬取IP數據,單個IP信息以json格式存儲,所有json格式的IP數據信息放入列表中return:ip_infor'''web_data = requests.get(url, headers=headers)soup = BeautifulSoup(web_data.text, 'lxml')nodes = soup.find_all('tr')for node in nodes[1:]:ip_ = node.find_all('td')ip_address = ip_[1].textip_port = ip_[2].textip_type = ip_[5].textip_time = ip_[8].textip_infors = {"ip_address" : ip_address,"ip_port" : ip_port,"ip_type" : ip_type,"ip_time" : ip_time}return ip_inforsdef write_ipInfors(ip_infors):'''將IP數據寫入文件中'''for ip_infor in ip_infors:f=open('IP.txt','a+',encoding='utf-8')f.write(ip_infors)f.write('\n')f.close()if __name__ == '__main__':for i in range(1,10):url = 'https://www.xicidaili.com/nn/{}'.format(i)headers = {'Host': 'www.xicidaili.com','Referer': 'https://www.xicidaili.com/','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}ip_infors = get_ipInfors(url, headers=headers)proxies = write_ipInfors(ip_infors) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的实战项目一:爬取西刺代理(获取代理IP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 待删除
- 下一篇: 实战项目四:爬取911网站