python爬取免費(fèi)代理并驗(yàn)證代理是否可用
分享一個(gè)python腳本,使用代理ip來(lái)訪(fǎng)問(wèn)網(wǎng)頁(yè),方便抓取數(shù)據(jù)什么的~并自動(dòng)驗(yàn)證ip是否可以用
什么情況下會(huì)用到代理IP?比如你要抓取一個(gè)網(wǎng)站數(shù)據(jù),該網(wǎng)站有100萬(wàn)條內(nèi)容,他們做了IP限制,每個(gè)IP每小時(shí)只能抓1000條,如果單個(gè)IP去抓因?yàn)槭芟?,需?0天左右才能采集完,如果用了代理IP,不停的切換IP,就可以突破每小時(shí)1000條的頻率限制,從而提高效率。
腳本開(kāi)始:
import requests
from lxml import etree
# 獲取快代理首頁(yè)的代理
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
# 測(cè)試代理
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,百度搜索一下有沒(méi)有免費(fèi)的代理ip獲取網(wǎng)址~到此這篇關(guān)于python爬取免費(fèi)代理并驗(yàn)證是否可用的文章就介紹到這了,更多相關(guān)python爬取免費(fèi)代理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyTorch使用CNN實(shí)現(xiàn)圖像分類(lèi)
圖像分類(lèi)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一項(xiàng)基本任務(wù),也是深度學(xué)習(xí)技術(shù)的一個(gè)常見(jiàn)應(yīng)用,近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(cnn)和PyTorch庫(kù)的結(jié)合由于其易用性和魯棒性已經(jīng)成為執(zhí)行圖像分類(lèi)的流行選擇,所以本文給大家介紹了PyTorch使用CNN實(shí)現(xiàn)圖像分類(lèi)的示例,需要的朋友可以參考下2025-03-03
Python通過(guò)Manager方式實(shí)現(xiàn)多個(gè)無(wú)關(guān)聯(lián)進(jìn)程共享數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Python通過(guò)Manager方式實(shí)現(xiàn)多個(gè)無(wú)關(guān)聯(lián)進(jìn)程共享數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python將PDF轉(zhuǎn)換為HTML的實(shí)現(xiàn)方法
PDF文件是共享和分發(fā)文檔的常用選擇,但提取和再利用PDF文件中的內(nèi)容可能會(huì)非常麻煩,本文重點(diǎn)介紹如何在Python程序中將PDF轉(zhuǎn)換為HTML,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2024-03-03
Python設(shè)計(jì)模式之備忘錄模式原理與用法詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之備忘錄模式原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了備忘錄模式的相關(guān)概念、原理及Python相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01
python如何將兩個(gè)數(shù)據(jù)表中的對(duì)應(yīng)數(shù)據(jù)相加
這篇文章主要介紹了python如何將兩個(gè)數(shù)據(jù)表中的對(duì)應(yīng)數(shù)據(jù)相加問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
計(jì)算python腳本執(zhí)行時(shí)間的多種方法
在編寫(xiě)Python腳本時(shí),了解腳本的執(zhí)行時(shí)間通常是很有用的,特別是在優(yōu)化代碼或評(píng)估性能時(shí),Python提供了多種方法來(lái)測(cè)量腳本的執(zhí)行時(shí)間,從內(nèi)置模塊到第三方庫(kù),可以選擇適合你需求的方式,本文將介紹計(jì)算 Python 腳本執(zhí)行時(shí)間的多種方法,需要的朋友可以參考下2023-11-11
Django框架靜態(tài)文件使用/中間件/禁用ip功能實(shí)例詳解
這篇文章主要介紹了Django框架靜態(tài)文件使用/中間件/禁用ip功能,結(jié)合實(shí)例形式詳細(xì)分析了Django框架靜態(tài)文件的使用、中間件的原理、操作方法以及禁用ip功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07

