針對python爬蟲requests庫的基礎問題

2021-08-27 13:48:43 字數 1591 閱讀 5609

r = requests.get(url,**kwargs)

kv=

r=requests.request('get','',params=kv)

print(r.url)

params:字典或位元組序列,作為引數增加到url中

headers: 字典,http定製頭(模擬瀏覽器進行訪問)

timeout:設定超時時間,秒為單位

data:字典,位元組序列或檔案物件,作為request的內容

json:json格式的資料,作為request的內容

cokies:字典或cppliejar,request中的cookie

auth:元祖,支援http認證功能

files:字典型別,傳輸檔案

proxies:字典型別,設定訪問**伺服器,可以增加登陸認證

當前頁面按下f12 >> 「網路」標籤  >> 右側「標頭(訊息頭)」下方的「請求標頭(請求頭)」 >> 新增到requests請求中

'accept': 傳送端(客戶端)希望接受的資料型別

'content-type': 傳送端(客戶端|伺服器)傳送的實體資料的資料型別

'host': 確定本次請求的是哪個具體的**

'user-agent': 使用者**

'cookie': internet站點建立的,為了辨別使用者身份而儲存在使用者本地終端上的資料

headers=
(3)get函式返回乙個response物件(type : )

屬性說明

r.status_code

http請求的返回狀態,200為成功,404失敗

r.text

http響應內容的字串形式(文字)

r.encoding

從http header中猜測的響應內容編碼形式

從內容中推測的編碼形式(個人不建議用)

r.content

http響應內容的二進位制形式(位元組)

r.raise_for_status() : 用於丟擲異常,如果r.status_code==200 : r.raise_for_status() = none

在明確了網頁的字符集編碼後可以使用類似 r.encoding = 'utf-8' 獲取結果

def gethtmltext(url):

try:

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

r.encoding = "utf-8"

r.raise_for_status()

return r.text

except:

return"產生異常"

當需要爬取的網頁過大的時候,可以用r = requests.head(url,**kwargs)函式獲取網頁大概內容

Python爬蟲 模擬瀏覽器訪問 Requests

有時候爬蟲需要加入請求頭來偽裝成瀏覽器,以便更好的抓取資料.開啟瀏覽器chrome找到user agent進行複製 headers headers get方法新增請求頭 print res.text 執行結果 requests庫不僅有get 方法,還有post 等方法.post 方法用於提交表單來爬...

針對SCRAPY爬蟲的要點

1.單個的user agent 直接在item中定義 然後request傳參 2.輪換的user agent 定義乙個中介軟體 然後在設定中掛載入download middlewares 1.構造cookie cookie 2.html requests.get url,cookies cookie...

針對python輸入要求

a b input while b 1 指隨意使用乙個值作為乙個標誌,來進行控制輸入的行數。在最後一行輸入相應終止輸入的標誌 b input a b int input for i in range 0,b for j in input split 以空格隔開每乙個資料,也可以使用其他方式隔開,據題...