1.urllib模組詳解
用於操作URL的模組(庫, py3把urllib和urllib2合併到了一起)
爬網頁必須掌握的最基礎的東東。
4) 修改請求頭
有些網站為了避免別人使用爬蟲惡意採取資訊會進行一些反爬蟲的操作, 比如通過請求頭裡的User-Agent, 檢查訪問來源是否為正常的訪問途徑, 我們可以修改請求頭來進行模擬正常的訪問。
7) 代理
對應限制ip存取速度的情況我們可以使用延遲提交資料的做法,
但是有些是限制訪問次數的, 同一個ip只能在一段時間裡訪問
多少次這樣, 而且休眠這種方法效率也是挺低的。 更好的方案是
使用代理, 通過代理ip輪換去訪問目標網址。 用法示例如下:
輸出結果:
如圖代理成功, 這裡的網站是用於查詢請求ip的, 另外, 我們一般會弄一個
代理ip的清單, 然後每次隨機的從裡面取出一個來使用。
圖中圈住的部分就是小說的章節,F12打開chrome的開發者工具,切到Network選項卡
(或者直接看Elements也行),選Response,刷新一波可以看到這樣的HTML結構:
當然我們要找的內容不在這裡,繼續往下翻:
附上小說抓取這部分的代碼:
數據都拼接成"ip:埠號"的形式了,然後就是驗證這個清單裡的代理
是否都可以用了,驗證方法也很簡單,直接設置代理然後訪問百度,
淘寶之類的網站,看返回碼是否為200,是的話就代表代理可用,追加
到可用列表中,最後再把可用列表寫入到檔中:
然後你就有自己的代理ip池了,要用的時候讀取下檔就好,沒事更新一波檔~
有了代理ip池,和上面扒小說的程式可用結合一波,應該就不會出現503的問題了,
具體有興趣的自行去完善吧(我懶...)
附上完整代碼:
結語:本節學習了urllib庫與Beautiful Soup,並通過兩個非常簡單的程式體驗了一波爬蟲的編寫,順道溫習了下上節的基礎知識,美滋滋,比起Android天天寫介面,有趣太多,正如基神所言,是時候找個新方向學習了~本節的東西還是小兒科,下節我們來啃硬骨頭規則運算式!r如有侵權請聯繫小編刪除哦!
圖中圈住的部分就是小說的章節,F12打開chrome的開發者工具,切到Network選項卡
(或者直接看Elements也行),選Response,刷新一波可以看到這樣的HTML結構:
當然我們要找的內容不在這裡,繼續往下翻:
附上小說抓取這部分的代碼:
數據都拼接成"ip:埠號"的形式了,然後就是驗證這個清單裡的代理
是否都可以用了,驗證方法也很簡單,直接設置代理然後訪問百度,
淘寶之類的網站,看返回碼是否為200,是的話就代表代理可用,追加
到可用列表中,最後再把可用列表寫入到檔中:
然後你就有自己的代理ip池了,要用的時候讀取下檔就好,沒事更新一波檔~
有了代理ip池,和上面扒小說的程式可用結合一波,應該就不會出現503的問題了,
具體有興趣的自行去完善吧(我懶...)
附上完整代碼:
結語:本節學習了urllib庫與Beautiful Soup,並通過兩個非常簡單的程式體驗了一波爬蟲的編寫,順道溫習了下上節的基礎知識,美滋滋,比起Android天天寫介面,有趣太多,正如基神所言,是時候找個新方向學習了~本節的東西還是小兒科,下節我們來啃硬骨頭規則運算式!r如有侵權請聯繫小編刪除哦!