python爬取免費代理并驗證代理是否可用
分享一個python腳本,使用代理ip來訪問網(wǎng)頁,方便抓取數(shù)據(jù)什么的~并自動驗證ip是否可以用
什么情況下會用到代理IP?比如你要抓取一個網(wǎng)站數(shù)據(jù),該網(wǎng)站有100萬條內(nèi)容,他們做了IP限制,每個IP每小時只能抓1000條,如果單個IP去抓因為受限,需要40天左右才能采集完,如果用了代理IP,不停的切換IP,就可以突破每小時1000條的頻率限制,從而提高效率。
腳本開始:
import requests from lxml import etree # 獲取快代理首頁的代理 def get_proxy_list(): url = "https://www.jxmtjt.com/" payload = {} headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36", 'Accept': 'application/json, text/javascript, */*; q=0.01', } response = requests.request("GET", url, headers=headers, data=payload) res = [] _ = etree.HTML(response.text) type_dct = { "HTTP": "http://", "HTTPS": "https://" } data_list = _.xpath("http://tbody/tr") for data in data_list: ip = data.xpath("./td[1]/text()")[0] port = data.xpath("./td[2]/text()")[0] type = data.xpath("./td[4]/text()")[0] res.append(type_dct[type] + ip + ':' + port) return res # 測試代理 def check(proxy): if 'https' in proxy: proxies = {'https': proxy} else: proxies = {'http': proxy} headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4396.0 Safari/537.36' } try: r = requests.get(href, proxies=proxies, timeout=5, headers=headers) if r.status_code == 200: return True except: return False if __name__ == '__main__': proxy_list = get_proxy_list() print(proxy_list) for p in proxy_list: print(p, check(p)) 大家代碼復(fù)制后,把獲取代理ip的網(wǎng)址改一改就可以用了,代碼我一直在用,大家也可以cnblogs,百度搜索一下有沒有免費的代理ip獲取網(wǎng)址~
到此這篇關(guān)于python爬取免費代理并驗證是否可用的文章就介紹到這了,更多相關(guān)python爬取免費代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用requests及BeautifulSoup構(gòu)建爬蟲實例代碼
這篇文章主要介紹了Python使用requests及BeautifulSoup構(gòu)建爬蟲,介紹了具體操作步驟和實例代碼等相關(guān)內(nèi)容,小編覺得還是挺不錯的,這里分享給大家,需要的朋友可以參考下2018-01-01Python實現(xiàn)中文文本關(guān)鍵詞抽取的三種方法
文本關(guān)鍵詞抽取,是對文本信息進行高度凝練的一種有效手段,通過3-5個詞語準確概括文本的主題,幫助讀者快速理解文本信息,本文分別采用TF-IDF方法、TextRank方法和Word2Vec詞聚類方法,利用Python語言進行開發(fā),實現(xiàn)文本關(guān)鍵詞的抽取,需要的朋友可以參考下2024-01-01python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)
這篇文章主要為大家介紹了python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06使用TensorBoard進行超參數(shù)優(yōu)化的實現(xiàn)
這篇文章主要介紹了使用TensorBoard進行超參數(shù)優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07淺談Python2、Python3相對路徑、絕對路徑導(dǎo)入方法
今天小編就為大家分享一篇淺談Python2、Python3相對路徑、絕對路徑導(dǎo)入方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)多層感知機簡潔實現(xiàn)
這篇文章主要為大家講解了Python深層學(xué)習(xí)中pytorch神經(jīng)網(wǎng)絡(luò)多層感知機的簡潔實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10python3+PyQt5使用數(shù)據(jù)庫窗口視圖
這篇文章主要為大家詳細介紹了python3+PyQt5使用數(shù)據(jù)庫窗口視圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04