requests庫
一:requests.get(url,params=None,**kwargs)
url:獲取頁面的url鏈接。
params:url中的額外參數,字典或者字節流格式,可選。
**kwargs:12個控制訪問的參數。
二:Response對象的屬性
r=requests.get(url)
r.status_code:HTTP請求的返回狀態。
r.text:HTTP響應內容的字符串形式,即url對應的頁面。
r.encoding:從HTTP header中猜測的響應內容編碼方式。
r.apparent_encoding:從內容中分析出的響應內容編碼方式(備選編碼方式)。
r.content:HTTP響應內容的二進制形式。
r.headers:獲取響應頭信息。
r.request.header:獲取請求頭信息。
註:
r.encoding:如果header中不存在charset,則認為編碼為ISO-8859-1,r.text根據encoding顯示網頁內容。
r.apparent:根據網頁內容分析出的編碼方式,可以看做是r.encoding的備選。
r.raise_for_status()方法:如果不是200,拋出異常requests.HTTPError。
三:requests.post(url,data=None,json=None,**kwargs)
url:url鏈接。
data:字典、字節序列或文件。
json:JSON格式的數據。
**kwargs:12個控制訪問的參數。
案例一:
import requests
url="http://www.yanshuo.me/"
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text)
except:
print("爬取失敗")
案例二:
import requests
url="https://www.amazon.cn/gp/product/B01M8L5Z3Y"
header={‘user-agent‘:‘Mozilla/5.0‘}
try:
r=requests.get(url,headers=header)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text)
except:
print("爬取失敗")
requests庫