request庫
目的:系統(tǒng)的分析魂拦,掌握request庫
參考:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
1. 普通的請(qǐng)求方法
a = requests.get(url)
a = requests.post(url,data = {'key':'value'})
a = requests.put(url,data = {'key':'value'})
a = requests.delete(url)
a = requests.head(url)
a = requests.options(url)
2. 含參數(shù)的請(qǐng)求方法
payload = {'key1': 'value1', 'key2': 'value2'}
a = requests.get("http://httpbin.org/get", params = payload)
payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
a = requests.get('http://httpbin.org/get', params = payload)
3. 請(qǐng)求之后使用的方法
a.url
a.text(服務(wù)器響應(yīng)內(nèi)容)
a.encoding
a.content(二進(jìn)制響應(yīng)內(nèi)容)
a.json()
a.raw
4. 請(qǐng)求頭
headers = {'user-agent': 'my-app/0.0.1'}
a = requests.get(url, headers=headers)
5. 響應(yīng)狀態(tài)碼
a.status_code
requests.codes.ok
6. 響應(yīng)頭
a.headers(以列表形式)
7. cookie
a.cookies
cookies = dict(cookies_are='working')
a = requests.get(url, cookies=cookies)
8. 重定向
a.history (如果重定向會(huì)顯示3XX)
a = requests.get(url, allow_redirects=False)
GET,OPTIONS,POST,PUT,PATCH,DELETE方法可以借此禁用重定向
a = requests.head(url, allow_redirects=True)
HEAD方法可以借此來開啟重定向
9. 超時(shí)
a = requests.get(url, timeout=0.001)
10. 錯(cuò)誤與異常
遇到網(wǎng)絡(luò)問題(如:DNS 查詢失敗芯勘、拒絕連接等)時(shí),Requests 會(huì)拋出一個(gè) ConnectionError 異常借尿。
如果 HTTP 請(qǐng)求返回了不成功的狀態(tài)碼屉来, Response.raise_for_status() 會(huì)拋出一個(gè) HTTPError 異常狈癞。
若請(qǐng)求超時(shí)茄靠,則拋出一個(gè) Timeout 異常蝶桶。
若請(qǐng)求超過了設(shè)定的最大重定向次數(shù),則會(huì)拋出一個(gè) TooManyRedirects 異常。
所有Requests顯式拋出的異常都繼承自 requests.exceptions.RequestException 厌小。