以后再也不用擔心寫爬蟲ip被封,不用擔心沒錢買代理ip的煩惱了
在使用python寫爬蟲時候,你會遇到所要爬取的網站有反爬取技術比如用同一個IP反復爬取同一個網頁,很可能會被封。如何有效的解決這個問題呢?我們可以使用代理ip,來設置代理ip池。
現在教大家一個可獲取大量免費有效快速的代理ip方法,我們訪問西刺免費代理ip網址
這里面提供了許多代理ip,但是我們嘗試過后會發現并不是每一個都是有效的。所以我們現在所要做的就是從里面提供的篩選出有效快速穩定的ip。
以下介紹的免費獲取代理ip池的方法:
優點:免費、數量多、有效、速度快
缺點:需要定期篩選
主要思路:
從網址上爬取ip地址并存儲
驗證ip是否能使用-(隨機訪問網址判斷響應碼)
格式化ip地址
代碼如下:
1.導入包
import requests
from lxml import etree
import time
1
2
3
2.獲取西刺免費代理ip網址上的代理ip
def get_all_proxy():
url = 'http://www.xicidaili.com/nn/1'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
response = requests.get(url, headers=headers)
html_ele = etree.HTML(response.text)
ip_eles = html_ele.xpath('//table[@id="ip_list"]/tr/td[2]/text()')
port_ele = html_ele.xpath('//table[@id="ip_list"]/tr/td[3]/text()')
proxy_list = []
for i in range(0,len(ip_eles)):
proxy_str = 'http://' + ip_eles[i] + ':' + port_ele[i]
proxy_list.append(proxy_str)
return proxy_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3.驗證獲取的ip
def check_all_proxy(proxy_list):
valid_proxy_list = []
for proxy in proxy_list:
url = 'http://www.baidu.com/'
proxy_dict = {
'http': proxy
}
try:
start_time = time.time()
response = requests.get(url, proxies=proxy_dict, timeout=5)
if response.status_code == 200:
end_time = time.time()
print('代理可用:' + proxy)
print('耗時:' + str(end_time - start_time))
valid_proxy_list.append(proxy)
else:
print('代理超時')
except:
print('代理不可用--------------->'+proxy)
return valid_proxy_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
4.輸出獲取ip池
if __name__ == '__main__':
proxy_list = get_all_proxy()
valid_proxy_list = check_all_proxy(proxy_list)
print('--'*30)
print(valid_proxy_list)
1
2
3
4
5
技術能力有限歡迎提出意見,保證積極向上不斷學習
————————————————
版權聲明:本文為CSDN博主「彬小二」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_39884947/article/details/86609930
資源簡介:以后再也不用擔心寫爬蟲ip被封,不用擔心沒錢買代理ip的煩惱了 在使用python寫爬蟲時候,你會遇到所要爬取的網站有反爬取技術比如用同一個ip反復爬取同一個網頁,很可能會被封。如何有效的解決這個問題呢?我們可以使用代理ip,來設置代理ip池。 現在教大家...
上傳時間: 2019-11-15
上傳用戶:fygwz1982
資源簡介:python 爬蟲 抓取
上傳時間: 2017-05-08
上傳用戶:宋桃子
資源簡介:簡單的python爬蟲,用于爬取網頁內容,
上傳時間: 2017-04-09
上傳用戶:antone
資源簡介:python爬蟲實戰手冊,有需要的可以參考!
上傳時間: 2022-03-08
上傳用戶:
資源簡介:1、Conn.asp 數據庫連接文件 2、ipCheck.inc ip數據庫查詢函數 3、oc_ipRecord.asp ip記錄文件(被調用文件) 4、oc_ipRecord.inc ip記錄數據庫 5、Recordip.inc ip記錄函數 6、showipaddess.asp 顯示ip來源頁面 7、showipReco...
上傳時間: 2015-10-27
上傳用戶:xyipie
資源簡介:防止密碼被非法獲取防止密碼被非法獲取防止密碼被非法獲取
上傳時間: 2015-03-22
上傳用戶:dragonhaixm
資源簡介:ip Qualification與ip Verification
上傳時間: 2015-07-26
上傳用戶:hn891122
資源簡介:ip地址探測器 ip地址探測器
上傳時間: 2015-10-01
上傳用戶:myworkpost
資源簡介:介紹了Internet網絡編程中涉及到的TCP/ip協議、ip數據 報、TCP段、套接字等重要概念,并在此基礎上論述了基于VC++的 MFC編寫客戶/服務 器程序的方法和一般過程。
上傳時間: 2015-12-08
上傳用戶:ANRAN
資源簡介:PIC16_TCP/ip中的ip協議的實現源碼
上傳時間: 2013-12-20
上傳用戶:xc216
資源簡介:dll獲得ip dll獲得ip dll獲得ip dll獲得ip dll獲得ip
上傳時間: 2016-02-29
上傳用戶:Divine
資源簡介:第二章dll獲得ip dll獲得ip dll獲得ip
上傳時間: 2014-01-26
上傳用戶:ywqaxiwang
資源簡介:QoS in ternet ip revolution - from “ip over everything” to “everything over ip” Current Internet guarantee: Best Effort only.
上傳時間: 2016-03-05
上傳用戶:小眼睛LSL
資源簡介:掃描局域網ip 掃描局域網ip
上傳時間: 2013-12-23
上傳用戶:qunquan
資源簡介:ip解析包 ip解析包
上傳時間: 2013-12-24
上傳用戶:520
資源簡介:delphi,利用"純真ip數據庫"進行ip地理位置查詢,附源碼。
上傳時間: 2016-10-17
上傳用戶:moerwang
資源簡介:TCP/ip vs UDP/ip Using VB + Winsock
上傳時間: 2017-03-20
上傳用戶:lht618
資源簡介:基于Silabs的C8051F340單片機控制以太網控制器CP2200完成靜態ip和動態ip的演示性網頁
上傳時間: 2017-06-01
上傳用戶:zhaiye
資源簡介:分類ip地址 特殊ip地址 私有網絡地址 ip地址配置
上傳時間: 2014-01-08
上傳用戶:PresidentHuang
資源簡介:mfc源程序,讀取本機ip并在ip控件顯示本機ip,
上傳時間: 2017-09-11
上傳用戶:kelimu
資源簡介:能夠獲取外網ip的delphi程序,內網ip ,外網ip等
上傳時間: 2014-01-21
上傳用戶:王者A
資源簡介:可以簡單實現網絡爬蟲信息,對一些字符可以進行txt存儲,有效實用
上傳時間: 2019-04-28
上傳用戶:zhuiqiu1234567
資源簡介:網絡是怎樣連接的_戶根勤---解壓密碼:666666目錄瀏覽器生成消息 1——探索瀏覽器內部1.1 生成HTTP 請求消息51.1.1 探索之旅從輸入網址開始 51.1.2 瀏覽器先要解析URL 71.1.3 省略文件名的情況 91.1.4 HTTP 的基本思路 101.1.5 生成HTTP 請求消息 141.1.6 發...
上傳時間: 2022-06-02
上傳用戶:fliang
資源簡介:故障樣本數據的獲取是模擬電路故障診斷中最基本的步驟。為了實現短時間內多次進行故障注入、獲取大量樣本數據,提出了基于SLPS的樣本數據自動獲取技術。利用SLPS將PSpice與Matlab結合,采用Matlab編程,實現故障模擬電路仿真數據獲取的自動化。實際應用表明該...
上傳時間: 2013-10-23
上傳用戶:ZJX5201314
資源簡介:自蔓延高溫合成技術是利用原料在初始點燃條件下化學反應所產生的高溫高熱,使燃燒反應自發地進行,從而得到新的成分和結構的產物。通過對自蔓延高溫合成實驗壓力和燃燒速率測試方法的研究,根據實驗的要求,選擇合適的壓力傳感器,并自行設計有效的燃燒速率測...
上傳時間: 2013-11-16
上傳用戶:q986086481
資源簡介:開元的blog .如果不能打開左側資源列表中的內容、無法閱讀到圖書、注冊認證出現 網絡不通等情況: 您很可能是在局域網通過代理服務器上網,需要在超星閱覽器中設置代 理服務器。方法是: 在超星閱覽器的設置菜單中選擇使用IE設置(此時,IE中需要已經...
上傳時間: 2015-06-14
上傳用戶:開懷常笑
資源簡介:本程序可獲取本地網絡端口狀態,通過ip地址,獲取端口號、端口狀態、連接次數...讓用戶清楚本地網絡的安全性。
上傳時間: 2015-10-14
上傳用戶:wangchong
資源簡介:本小程序可用來獲取網絡設置狀態,其功能類似在CMD中使用ipconfig /all命令。可查看本地網絡的DNS、子網掩碼、網卡地址和綁定的ip地址、ip路由、默認網關、工作域等。我所上傳的程序均在在VC 6.0中調試通過。
上傳時間: 2015-10-14
上傳用戶:yimoney
資源簡介:可以爬取百度百科,驗證有效,不錯的代碼示例,可以深入學習
上傳時間: 2015-04-22
上傳用戶:愛蓮說愛你
資源簡介:產品型號:VK36N2D 產品品牌:VINTEK/永嘉 封裝形式:SOP8/DFN8 產品年份:新年份產品 元泰原廠直銷,現貨更有優勢!工程服務,技術支持,讓您的生產高枕無憂。 概述 V K 3 6 N 2 D具有2個觸摸按鍵,可用來檢測外部觸摸按鍵上人手的觸摸動作。該芯片具...
上傳時間: 2020-06-11
上傳用戶:shubashushi66