搭建屬於自己的代理ip池

作者:sergiojune Python愛好者社區--專欄作者

個人公眾號:日常學python

專註python爬蟲,數據可視化,數據分析,python前端技術

公眾號:Python愛好者社區

前文傳送門:今天說說反爬蟲與反反爬蟲

繼上一篇說了反爬蟲之後,我說今天這篇文章會搭建一個屬於自己的代理ip池,所以,為了不食言,就寫了這篇文章,那好廢話不多說,進入正題

目標網站

爬取代理ip,這也需要找網頁,這就得看看哪個網頁提供這些代理ip了,本人知道了幾個免費提供代理ip的網站,如下:

  • 無憂代理ip
  • 芝麻代理ip
  • 西刺代理ip
  • 雲連代理ip

我選擇了爬取西刺代理的網站。

分析網站結構

我們需要獲取的高匿代理,按下F12打開開發者工具

上面我們要獲取的數據是ip地址,埠和類型這三個就可以了,可以看到,這些數據都在一個tr標籤里,但是有兩個不同的tr標籤,這樣可以用正則表達式,利用相隔的html結構先把整個內容匹配下來,再把重要信息匹配下來,最後就把他弄成這個樣子{https: ip:埠}存入列表即可,最後就隨機獲取一個ip,然後可以先判斷是否有用,再拿來做你此時項目的代理ip,判斷是否用的方法就是隨便拿一個百度獲取別的網站,加上代理ip發送get請求,看看status_code()的返回碼是不是200,即可,就如下面這樣

代碼部分

1.匹配數據,並挑選數據存入列表

2.隨機獲取ip,並寫好ip格式

我這裡是把他存入列表,現抓現用,是因為我現在的爬蟲項目都是很小的,只需要這些就可以了。

以上就是我簡單搭建的代理ip池了,等到以後慢慢完善,你可以把他們存入你的資料庫,然後要用的時候,就隨機拿出來,先看看有沒有用,沒用的話就刪除,有用就拿來用即可。


推薦閱讀:

xpath+mongodb抓取伯樂在線實戰
換個思路學Python-以爬蟲為例(一)
演示利用爬蟲監測網頁評論
《用python寫網路爬蟲》學習心得筆記
利用python處理PDF文本

TAG:Python | python爬蟲 | 網頁爬蟲 |