1. 程式人生 > 其它 >Python之requests

Python之requests

Python爬蟲介紹——Requests

一、簡介
雖然Python的標準庫中 urllib2 模組已經包含了平常我們使用的大多數功能,但是它的 API 使用起來讓人感覺不太好,而 Requests 自稱 “HTTP for Humans”,說明使用更簡潔方便。

Requests 繼承了urllib2的所有特性。Requests支援HTTP連線保持和連線池,支援使用cookie保持會話,支援檔案上傳,支援自動確定響應內容的編碼,支援國際化的 URL 和 POST 資料自動編碼。

Requests的文件非常完備,中文文件也相當不錯。Requests能完全滿足當前網路的需求,支援Python 2.6—3.5。

二、安裝方式
如圖,在cmd中輸入該程式碼即可下載

完成下載後,便可使用了。

三、使用方法

#匯入該模組
import requests

主要請求方法說明

requests.get(url)#get請求方法
requests.post(url,params,data)#post請求方法

GET和POST的區別:
最直觀的區別就是GET把引數包含在URL中,POST通過request body傳遞引數。

GET在瀏覽器回退時是無害的,而POST會再次提交請求。

GET產生的URL地址可以被Bookmark,而POST不可以。

GET請求會被瀏覽器主動cache,而POST不會,除非手動設定。

GET請求只能進行url編碼,而POST支援多種編碼方式。

GET請求引數會被完整保留在瀏覽器歷史記錄裡,而POST中的引數不會被保留。

GET請求在URL中傳送的引數是有長度限制的,而POST麼有。

對引數的資料型別,GET只接受ASCII字元,而POST沒有限制。

GET比POST更不安全,因為引數直接暴露在URL上,所以不能用來傳遞敏感資訊。

GET引數通過URL傳遞,而POST放在Request body中。

GET和POST還有一個重大區別,簡單的說:

GET產生一個TCP資料包;POST產生兩個TCP資料包。

長的說:

對於GET方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於POST,瀏覽器先發送header,伺服器響應100 continue,瀏覽器再發送data,伺服器響應200 ok(返回資料)

還有一個常用方法:

requests.json()#json解析方法

將得到的資訊用json函式解析出來

好的,到這裡就結束啦,下期更精彩~