1. 程式人生 > >Python3爬蟲1-請求庫

Python3爬蟲1-請求庫

獲取網頁原始碼是爬蟲的第一步,在Python中最常用的就是urllib和request兩個庫了。

urllib庫介紹

先說一下python版本變化前後的區別,這個曾給我帶來不小的麻煩。

  • 在Python2中,有內建的urllib、urllib2兩個庫,urllib 側重於 url 基本的請求構造,urllib2側重於 http 協議請求的處理。
  • 而在Python3中,已經不存在urllib2這個庫了,統一為urllib。urllib作為Python3的標準庫,基本上涵蓋了基礎的網路請求功能。它包含如下四個模組:
    1. request:它是最基本的HTTP請求模組用來模擬傳送請求;
    2. error:異常處理模組,用來捕獲異常自定義處理方式,保證程式不會意外終止;
    3. parse:提供URL的處理方式,如拆分、解析、合併等;
    4. robotparser:用於處理網站的robots.txt檔案,規範爬蟲。
  • 另外有一個擴充套件的urllib3,在urllib上增加了連線池等功能,兩者互相都有補充的部分。urllib3是服務於升級的http 1.1標準,擁有高效 http連線池管理及 http 代理服務的功能庫,從 urllib 到 urllib2和urllib3是順應互聯應用升級浪潮的,這股浪潮從通用的網路連線服務到網際網路網路的頭部應用:支援長連線的 http 訪問,網路訪問不斷的便捷化。

使用Python3的urllib庫

參考簡書Python網路請求urllib和urllib3詳解

requests庫介紹

urllib庫很全,但也有很多不方便之處。為了更加方便的實現請求頭構造、Cookies等功能,Python中有更強大的request庫。

使用request庫

還是參考簡書【Requests】優雅到骨子裡的網路請求庫,因為他寫得真的很好。

原始碼有了,但需要正確的解析過濾才能稱得上資料。