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