requests和urllib的區別

2021-10-02 12:10:59 字數 2640 閱讀 8894

基本的區別是獲得的response

1.傳送get請求,例如:

r = requests.get('')
2.傳送post請求,例如:

r = requests.post('')
3.得到的響應內容(就是指get傳送以後的請求),響應的內容包含響應行、響應報頭、響應正文

響應正文:r.content(通用版),可以自動轉出成取文字用.text,取等二進位制的檔案用.content,.text返回的是unicode型資料,.content返回的是bytes型別的資料,也就是二進位制的資料。

響應頭部:r.header

如果要反爬蟲,乙個方法時偽裝頭部

requests支援定製http請求的頭部。為此,我們只需要構造乙個字典,然後傳給requests.get()的headers引數即可。

url = ''

r = requests.get(url, headers=headers)

print (r.text)

響應狀態碼

url = ""

r = requests.get(url, timeout=10)

print(r.status_code)

以後再補充

r = requests.post('', data=)
具體參考

get    向指定url傳送請求,返回網頁的html**

post    向指定url提交資料,由服務端進行處理並返回結果。

請求和響應過程

1    客戶端(瀏覽器)解析url位址,將網域名稱轉換成ip

2    客戶端(瀏覽器)與服務端(伺服器)建立tcp/ip連線

3    客戶端(瀏覽器)傳送http請求

請求報文包括請求行(請求方式、url、協議版本)、

請求頭部、空行和請求資料

4    服務端(伺服器)響應請求返回資料

響應報文包括狀態行、訊息報頭、空行和響應正文

5    服務端(伺服器)釋放tcp連線

6    客戶端(瀏覽器)解析返回的資料並顯示

1.傳送get請求

urllib.request.urlopen()

urllib.request.urlopen(url, data=none, [timeout, ]*, cafile=none, capath=none, cadefault=false, context=none)

response=urllib.request.urlopen('',timeout=0.1)
響應正文:read() , readline() ,readlines() , fileno() , close() :對httpresponse型別資料進行操作。

import requests

from urllib import request

from urllib.request import urlopen

url = ""

r = request.urlopen(url, timeout=10)

print(r.read())

也可以編碼r.read().decode("utf_8")

響應頭部:info()

import requests

from urllib import request

from urllib.request import urlopen

url = ""

r = request.urlopen(url, timeout=10)

print(r.info())

響應狀態碼:getcode()

import requests

from urllib import request

from urllib.request import urlopen

url = ""

r = request.urlopen(url, timeout=10)

print(r.getcode())

requests庫和urllib包對比

python中有多種庫可以用來處理http請求,比如python的原生庫 urllib包 requests類庫。urllib和urllib2是相互獨立的模組,python3.0以上把urllib和urllib2合併成乙個庫了,requests庫使用了urllib3。requests庫的口號是 htt...

urllib與requests的對比

在http相關處理中使用python是不必要的麻煩,這包括urllib2模組以巨大的複雜性代價獲取綜合性的功能。相比於urllib2,kenneth reitz的requests模組更能簡約的支援完整的簡單用例。簡單的例子 想象下我們試圖使用get方法從獲取資源並且檢視返回 content type...

requests與urllib庫的區別

個人學習收藏,侵刪 我們在使用python爬蟲時,需要模擬發起網路請求,主要用到的庫有requests庫和python內建的urllib庫,一般建議使用requests,它是對urllib的再次封裝,它們使用的主要區別 requests可以直接構建常用的get和post請求並發起,urllib一般要...