1. 程式人生 > >requests庫

requests庫

esp tex post 額外 raise response .get font imp

一: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庫