前言
最近有個軟件專業等級考試,以下簡稱軟考,為了更好的復習備考,我打算抓取www.rkpass.cn網上的軟考試題。
首先講述一下我爬取軟考試題的故(keng)事(shi)。現在我已經能自動抓取某一個模塊的所有題目了,如下圖:

目前可以將信息系統監理師的30條試題記錄全部抓取下來,結果如下圖所示:

抓取下來的內容圖片:

雖然可以將部分信息抓取下來,但是代碼的質量并不高,以抓取信息系統監理師為例,因為目標明確,各項參數清晰,為了追求能在短時間內抓取到試卷信息,所以并沒有做異常處理,昨天晚上填了很久的坑。
回到主題,今天寫這篇博客,是因為又遇到新坑了。從文中標題我們可以猜出個大概,肯定是請求次數過多,所以ip被網站的反爬蟲機制給封了。

活人不能讓尿憋死,革命先輩的事跡告訴我們,作為社會主義的接班人,我們不能屈服于困難,逢山開路,遇水搭橋,為了解決ip問題,ip代理這個思路就出來了。
在網絡爬蟲抓取信息的過程中,如果抓取頻率高過了網站的設置閥值,將會被禁止訪問。通常,網站的反爬蟲機制都是依據IP來標識爬蟲的。
于是在爬蟲的開發者通常需要采取兩種手段來解決這個問題:
1、放慢抓取速度,減小對于目標網站造成的壓力。但是這樣會減少單位時間類的抓取量。
2、第二種方法是通過設置代理IP等手段,突破反爬蟲機制繼續高頻率抓取。但是這樣需要多個穩定的代理IP。
話不多書,直接上代碼: