1. requests模块用来发送网络请求。

首先需要安装requests模块: pip install requests

 

2. 发送请求

2.1  get请求

__author__ = 'WJ'
import requests

res = requests.get('''https://www.baidu.com/''')
print (res)
res.encoding = 'utf-8' //需要先进行设置编码格式,否则,rex.text会打印出来乱码
print (res.text)

如果以上转码之后还会打印乱码,则采用一下方式:

#*-*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)

参数也可以是一个列表。

 这样会得到一下一个请求:

"http://httpbin.org/get"?key1=value1?key2=value2

 

2.2  其他请求

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 函数

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

 

posted on 2018-07-27 15:28  srialy  阅读(114)  评论(0编辑  收藏  举报