requests庫常用的方法
requests.Request(url) 構造一個請求,支持以下各種方式
requests.get() 發送get請求
requests.post() 發送post請求
requests.head() 獲取HTML的頭部信息
requests.put() 發送put請求
requests.patch() 提交局部修改的請求
requests.delete() 提交刪除請求
requests庫的使用
語法構造
requests.get(url,params=None)
參數說明
url:需要爬取的網站和網址
params:請求參數
該方法的結果為Response對象,包含服務器的響應信息
response對象的常用屬性
response.staue_code 響應狀態碼
response.content 把response對象轉換為二進制
response.text 把response對象轉換為字符串數據
response.encoding 定義response對象的編碼
response.cookies 獲取請求后的cookie
response.url 獲取請求網址
response.json() 內置的json解碼器
Response.headers 以字典對象存儲服務器響應頭,字典鍵不區分大小
發送不帶參數的get請求
import requests url = 'https://www.baidu.com/' resp = requests.get(url) #設置響應的經編碼格式 resp.encoding='utf-8' cookie = resp.cookies #獲取請求后的cookie信息 headers = resp.headers #以字典對象存儲服務器響應頭,字典鍵不區分大小 print('響應狀態碼:',resp.status_code) print('請求后的cookie:',cookie) print('獲取請求的網址:',resp.url) print('響應頭:',headers) print('響應內容:',resp.text)
帶參數的get請求
1.
import requests import urllib.request url = 'https://www.so.com/s' params = {'q':'python'} resp = requests.get(url,params=params) resp.encoding='utf-8' print(resp.text)
2.
# 例 url = 'https://www.so.com/s' # 請求頭 headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE"} resp = requests.get(url,headers=headers) resp.encoding = 'utf-8' print(resp.text)