Python 爬蟲入門筆記1(for myself)
阿新 • • 發佈:2018-12-01
一、requests入門
1. requests的基本內容
request()構造一個請求,支撐一下各個方法的基礎方法
requests.request(method,url,**kwargs) 七種方法
method: 請求方式
requests.request(‘GET’,url,**kwargs)
**kwargs: 控制訪問的引數,均為可選項
令kv = {‘key’:’value’}
params : 字典或位元組序列,作為引數增加到url中
r = requests.request(‘GET’,’http://python123.io/ws‘, params=kv) #以命名方式把kv賦予params
print(r.url)
json :JSON格式的資料,作為request的內容
header:字典,HTTP協議頭
hd = {‘user-agent’: ‘Chrome/10’}
r = requests.request(”POST”,url, header=hd)
get() 獲取HTML網頁的主要方法,對應HTTP的GET:請求獲取URL位置的資源
head()獲取網頁頭資訊的方法,對應HEAD :請求獲取URL位置資源的響應訊息報告,即可獲得該資源的頭部資訊
post()向網頁提交POST請求的方法,對應POST:請求向URL位置的資源後附加新的資料
put()向網頁提交PUT請求的方法,PUT
patch()向網頁提交區域性修改請求,PATCH:請求區域性更新URL位置的資源,改變該資源處的部分內容
delete()向HTML網頁提交刪除命令,DELETE:請求刪除URL位置儲存的資源
PATCH與PUT
PATCH 只修改一個欄位,PUT反之
HTTP協議
URL格式 http://host[:port][path]
host: 合法的Internet主機域名或IP地址
port:埠號,預設埠為80
path:請求資源路徑
Requests庫的2個重要物件
r = requests.get(url)
Request
Response :包含爬蟲返回的內容
Response 物件屬性
r.status_code
r.text HTTP響應內容的字串形式,即url對應的頁面內容
r.encoding 從HTTP header中猜測的響應內容編碼方式(header中不存在charset,則預設編碼ISO-8859-1)
r.apparent_encoding 從內容中分析出響應內容編碼方式(備選編碼方式):根據網頁內容分析出的編碼方式
r.content HTTP響應內容的二進位制形式