1. 程式人生 > 其它 >requests庫基本使用

requests庫基本使用

 1 import requests
 2 #傳送get請求
 3 response = requests.get("http://www.baidu.com/")
 4 
 5 #傳送POST請求
 6 response = requests.post("http://www.baidu.com/")
 7 
 8 response = requests.get("https://www.sogou.com/")
 9 
10 #檢視相應內容,response.text返回的是Unicode資料
11 print(type(response.text))  #str
12 print(response.text)    #
網頁原碼 13 14 15 #檢視相應內容,response.content返回的是位元組流資料 16 print(type(response.content)) #Bytes 17 print(response.content.decode('utf-8'))#經過自己方式的解碼 18 19 #檢視完整url地址 20 print(response.url) #https://www.sogou.com/ 21 22 #檢視響應頭部字元編碼 23 print(response.encoding) #utf-8 24 25 #檢視響應碼 26 print(response.status_code) #
200

Requests使用代理:

  由於相對於爬蟲,加入用自己電腦的ip地址,去爬取目標網頁,由於訪問次數過多,會被伺服器標記為非正常訪問,會禁止你繼續訪問改網頁

怎麼解決呢?

  可以在第三方網站使用代理,相當於偽造一個ip地址去爬取目標網頁,代理的ip地址有無數個,故這樣,就能一直訪問目標網頁。

  使用方法:只需要在請求方法中(get或者post)傳遞proxies引數即可,程式碼如下:

  

import requests

proxy = {
    'http':'xxx.xxx.xxx.xxx:xxxxx'
}

response = requests.get('http://httpbin.org/ip
',proxy=proxy) print(response.text)
#xxx.xxx.xxx.xxx為ip地址,
#xxxxx為埠號

Requests處理cookie資訊:

  經常作用在模擬去登入某個網站,同以上只需要在get或者post傳入一個data引數即可

1 import requests
2 response = requests.get('https://www.baidu.com/')
3 print(response.cookies.get_dict())

  如果使用requests庫,達到共享cookie的目的,可以用requests提供給我們的session物件,以登入某網站為例:

  

import requests

url = 'xxxxx'
data ={ 'xxxxx' #登入名和密碼}
headers={
    user-agent:‘xxxxxxxx’
}

#登入
session = requests.session()
session.post(url,data=data,headers=headers)    

resp = session.get#(目標網站主頁) #必須要登入才能訪問,沒有登入自動跳轉到登陸頁面