1. 程式人生 > >Requests庫詳解

Requests庫詳解

OS nbsp 數據 請求 delet 直接 ade imp 比較

urllib庫作為基本庫,requests庫也是在urllib庫基礎上發展的

但是urllib在使用上不如requests便利,比如上篇文章在寫urllib庫的時候,比如代理設置,處理cookie時,沒有寫,因為感覺比較繁瑣,另外在發送post請求的時候,也是比較繁瑣。

一言而代之,requests庫是python實現的簡單易用的HTTP庫

在以後做爬蟲的時候,建議用requests,不用urllib

用法講解:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import requests

response = requests.get(‘http://www.baidu.com‘)
print(type(response))
print(response.status_code)
print(type(response.text))
print(response.text)
print(response.cookies)
輸出結果為:

<class ‘requests.models.Response‘>
200
<class ‘str‘>
<!DOCTYPE html>
<!--STATUS OK--><html>省略了 </html>

<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>

由上面的小程序中可以看出,response.text直接就拿到str類型的數據,而在urllib中的urllib.request.read()得到的是bytes類型的數據,還需要decode,比較繁瑣,同樣的response.cookies直接就將cookies拿到了,而不像在urllib中那樣繁瑣

各種請求方式

import requests

requests.post(‘http://www.baidu.com‘)
requests.put(‘http://www.baidu.com‘)
requests.delete(‘http://www.baidu.com‘)
requests.head(‘http://www.baidu.com‘)
requests.options(‘http://www.baidu.com‘)

基本get請求:

利用http://httpbin.org/get進行get請求測試

import requests

response = requests.get(‘http://httpbin.org/get‘)
print(response.text)
輸出結果:

{"args":{},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Connection":"close","Host":"httpbin.org","User-Agent":"python-requests/2.18.4"},"origin":"113.71.243.133","url":"http://httpbin.org/get"}

 

 

Requests庫詳解