python模塊學習----requests模塊

模塊安裝pip install requests


用法講解:


1、基本的GET請求:

>>> r = requests.get("http://httpbin.org/get")
>>> print(r.text)

2、帶參數的GET請求:

data = {'name':'test','page':'10'}
>>> r = requests.get("http://httpbin.org/get",params=data)
>>> print(r.text)
"url": "http://httpbin.org/get?name=test&page=10"

3、解析json:

r = requests.get("http://httpbin.org/get")
>>> dict1 = r.json()
>>> dict1
{'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'close', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4'}, 'origin': '125.82.191.49', 'url': 'http://httpbin.org/get'}

4、獲取二進制數據:

r = requests.get("http://blog.51cto.com/favicon.ico")
>>> with open('favicon.ico','wb') as f:
	f.write(r.content)

5、添加headers:

header = {'User-Agent':'Mozlila/5.0'}
>>> r = requests.get("http://httpbin.org/get",headers=header)
>>> print(r.text)

6、基本POST請求:

data = {'name':'text','age':'22'}
>>> r = requests.post("http://httpbin.org/post",data=data)
>>> print(r.text)


響應:reponse屬性

reponse.status_code:狀態碼

reponse.headers:http頭部信息

reponse.cookies:

reponse.url:

reponse.history:訪問的歷史記錄


狀態碼判斷:

r = requests.get("http://www.baidu.com")
>>> if not r.status_code == 200:
	exit()
else:
	print(r.text)


高級操作:


1、文件上傳:

files = {'file':open('1.jpg','rb')}
r = requests.post('http://www.baidu.com',files=files)

2、會話維持:

s = requests.Session()
s.get("http://www.baidu.com"

3、證書驗證:

r = requests.get('url',cart=('/path/server.crt','/path/key'))

4、代理設置:

proxies = {
	'http':'http://127.0.0.1:19324',
	'https':'https//127.0.0.1:19542'
	}
>>> r = requests.get('http://www.baidu.com',proxies=proxies)

帶驗證的代理:
proxies = {
	'http':'http://user:[email protected]:19452'
	}
r = requests.get('http://www.baidu.com',proxies=proxies)

socks代理:
安裝模塊:pip3 install requests[socks]
proxies = {
	'http':'socks5://127.0.0.1:1222',
	'https':'socks5://127.0.0.1:3222'
	}
>>> r = requests.get('http://www.baidu.com',proxies=proxies)

5、超時設置:

r = requests.get(' = 1)

6、認證設置:

r = requests.get('url',auth=('user','123'))

或者是
from requests.auth import HTTPBasicAuth
>>> r = requests.get('url',auth=HTTPBasicAuth('user','123'))





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章