1. requests模塊用來發送網絡請求。json
首先須要安裝requests模塊: pip install requestscookie
2. 發送請求網絡
2.1 get請求app
__author__ = 'WJ'
import requests
res = requests.get('''https://www.baidu.com/''')
print (res)
res.encoding = 'utf-8' //須要先進行設置編碼格式,不然,rex.text會打印出來亂碼
print (res.text)
若是以上轉碼以後還會打印亂碼,則採用一下方式:socket
#*-*coding=utf-8-*-
import io
import sys
import requests
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') #改變輸出的默認編碼格式
res = requests.get ('''https://www.sina.com.cn/ ''')
a = res.text
print (a)
#必定須要encoding = utf-8 這個參數,不然寫入文件的時候會報錯
with open('text.txt','a',encoding='utf-8') as e:
e.write(a)
傳參數:函數
params = {'key1':'aa','key2':'bb'}
res = requests.get ('''https://www.sina.com.cn/ ''',params=params)
print (res.url)
參數也能夠是一個列表。post
這樣會獲得一下一個請求:編碼
"http://httpbin.org/get"?key1=value1?key2=value2
2.2 其餘請求url
r = requests.post('http://httpbin.org/post', data = {'key':'value'}) r = requests.put('http://httpbin.org/put', data = {'key':'value'}) r = requests.delete('http://httpbin.org/delete') r = requests.head('http://httpbin.org/get') r = requests.options('http://httpbin.org/get')
2.3 函數spa
r.text 返回headers中的編碼解析的結果,能夠經過r.encoding = 'utf-8'來變動解碼方式
r.content返回二進制結果
r.json()返回JSON格式,可能拋出異常
r.status_code
r.raw返回原始socket respons,須要加參數stream=True
響應
r.status_code
r.heards
r.cookies