使用Python爬取代理資料
QQ 1274510382
Wechat JNZ_aming
商業聯盟 QQ群538250800
技術搞事 QQ群599020441
解決方案 QQ群152889761
加入我們 QQ群649347320
共享學習 QQ群674240731
紀年科技aming
網路安全 ,深度學習,嵌入式,機器強化,生物智慧,生命科學。
叮叮叮:產品已上線 —>關注 官方-微信公眾號——濟南紀年資訊科技有限公司
民生專案:商城加盟/娛樂交友/創業商圈/外包兼職開發-專案釋出/
安全專案:態勢感知防禦系統/內網巡查系統
雲服專案:動態擴容雲主機/域名/彈性儲存-資料庫-雲盤/API-AIeverthing
產品諮詢/服務售後(同)
紙上得來終覺淺,絕知此事要躬行 !!!
尋找志同道合夥伴創業中。。。抱團滴滴aming聯絡方式!!
結構的分析以及網頁資料的提取
/2 首頁分析及提取/
簡單分析下頁面,
其中後面的 1 是頁碼的意思,分析後發現每一頁有100 多條資料,
然後網站底部總共有 2700+頁 的連結,
所以總共ip 代理加起來超過 27 萬條資料,
但是後面的資料大部分都是很多年前的資料了,比如 2012 年,
大概就前 5000 多條是最近一個月的,所以決定爬取前面100 頁。
通 過網站 url 分析,可以知道這 100 頁的 url 為:
規律顯而易見,在程式中,我們使用一個 for 迴圈即可完整這個操作:
其中 scrapy 函式是爬取的主要邏輯,對應的程式碼為:
通過這個方式,我們可以得到每一頁的資料
/3 網頁元素分析及提取/
接下來就是對頁面內的元素進行分析,提取其中的代理資訊。
如上圖,我們目的是進行代理地域分佈分析,
同時,在爬取過程中需要使用爬取的資料進行代 理更新,
所以需要以下幾個欄位的資訊:
Ip 地址、埠、伺服器位置、型別
為此,先構建一個類,用於儲存這些資訊:
這樣,每爬取一條資訊,只要例項化一個 ProxyBean 類即可,非常方便。
接下來就是提取元素過程了,
在這個過程我使用了正規表示式和 BeautifulSoup 庫進行關鍵資料提取。
首先,通過分析網頁發現,所有的條目實際上都是放在一個<table>標籤中。
該便籤內容如下:
<table id="ip_list">……</table>
我們首先通過正規表示式將該標籤的內容提取出來:
正規表示式為:<table id="ip_list">([\S\s]*)</table>,
表示搜尋<table id="ip_list">到</table>之 間的任意字元組成的資料。
Python 中的實現如下:
其中得到的 data 就是這個標籤的內容了。下面進一步分析。
進入到 table 中,發現每一個代理分別站 table 的一列<tr>,
但是這些<tr>標籤分為兩類,一 類包含屬性 class="odd", 另一類不包含
通過這種方式,就能獲取到每一個列的列表了。
接下來就是從每個列中獲取 ip、埠、位置、型別等資訊了。進一步分析頁面:
我們使用正規表示式對 IP 進行解析,IP 正則如下:
** (2[0-5]{2}|[0-1]?\d{1,2})(.(2[0-5]{2}|[0-1]?\d{1,2})){3}**
2、 埠欄位
埠由包裹,並且中間全部是數字,故可構造如下正則進行提取:
<td>([0-9]+)</td>
3、 位置欄位
位置欄位如下:
由 便籤包裹,構造如下正則即可提取:
<a href="([^>]*)>([^<]*)</a>
4、型別欄位
型別欄位如下:
由包裹,中間為字母,構造正則如下:
<td>([A-Za-z]+)</td>
資料全部獲取完之後,將其儲存到檔案中即可:
/4 小結/
本次任務主要爬取了代理網站上的代理資料。主要做了以下方面的工作:
學習 requests 庫的使用以及爬蟲程式的編寫;
學習使用反爬蟲技術手段,並在實際應用中應用這些技術,如代理池技術;
學習使用正規表示式,並通過正規表示式進行網頁元素提取;
學習使用 beautifulsoup 庫,並使用該庫進行網頁元素的提取。
相關文章
- python更換代理爬取豆瓣電影資料Python
- 使用 Python 爬取網站資料Python網站
- Python爬取免費IP代理時,無法解析到資料Python
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲
- 使用Python進行Web爬取和資料提取PythonWeb
- Python:爬取疫情每日資料Python
- Python爬蟲抓取資料,為什麼要使用代理IP?Python爬蟲
- python爬蟲實戰:爬取西刺代理的代理ip(二)Python爬蟲
- Python 爬取 baidu 股票市值資料PythonAI
- Python爬取噹噹網APP資料PythonAPP
- Python爬取CSDN部落格資料Python
- python爬蟲利用代理IP分析大資料Python爬蟲大資料
- python爬取股票資料並存到資料庫Python資料庫
- 如何使用python多執行緒有效爬取大量資料?Python執行緒
- python爬取58同城一頁資料Python
- Python爬蟲框架:scrapy爬取高考派大學資料Python爬蟲框架
- Python爬蟲入門【3】:美空網資料爬取Python爬蟲
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- python3 使用 Selenium 自動化測試或爬取資料Python
- Python爬蟲訓練:爬取酷燃網視訊資料Python爬蟲
- python網路爬蟲(7)爬取靜態資料詳解Python爬蟲
- python爬蟲 爬取豆瓣電影 1-10 ajax 資料Python爬蟲
- 如何高效獲取大資料?動態ip代理:用爬蟲!大資料爬蟲
- 用海外HTTP代理爬取海外資料的原理是什麼?HTTP
- Python代理IP爬蟲的簡單使用Python爬蟲
- 利用python爬取某殼的房產資料Python
- Python 爬取網頁資料的兩種方法Python網頁
- Python資料爬蟲學習筆記(11)爬取千圖網圖片資料Python爬蟲筆記
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- Python爬蟲之小說資訊爬取與資料視覺化分析Python爬蟲視覺化
- python爬取北京租房資訊Python
- python爬蟲——爬取大學排名資訊Python爬蟲
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- python 爬蟲 代理池Python爬蟲
- python爬取不到資料的可能原因之一Python
- Python如何爬取實時變化的WebSocket資料PythonWeb
- Python爬蟲精簡步驟1 獲取資料Python爬蟲
- 【python】爬取疫情資料並進行視覺化Python視覺化