Requests01.入门
2019-09-29 本文已影响0人
意爹闯天涯
一、安装
安装requests库非常简单,只需要在命令行执行以下命令:
pip install requests
以下为执行效果:

命令执行后,可使用
pip show requests
命令查看是否安装成功:
如果第三方库安装成功,使用
pip show
命令能够查看该库基本信息,如库的名称、版本、概述、作者等基本信息。
发送GET请求
使用requests库可以很容易的对网页发送http请求。首先,需要导入requests库:
import requests
导入requests后,使用get函数对网页发送GET请求,这里以百度为例:
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com")
get函数第一个参数为请求的网址。当get函数执行时,requests便向服务器发送请求,当服务器接收到请求,会处理必要的业务逻辑,并对其作出响应,反馈一些信息。get函数返回的就是服务器反馈的信息对象(Response)。
可以通过该响应对象获取相关信息,如
1.服务器响应的内容
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com")
print(r.text)
可以看到效果如下:

如图所示,使用get函数访问百度,响应的内容
r.text
为百度搜索页面的html代码。
当请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测。当访问 r.text 之时,Requests 会使用其推测的文本编码。你可以找出 Requests 使用了什么编码,并且能够使用 r.encoding 属性来改变它。
查看响应信息的编码:
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com")
#响应信息的编码
print(r.encoding)
执行代码:

可以看到该处是以“
ISO-8859-1
”编码解析的内容,显然该编码与百度实际页面编码不一致,从而导致图3响应文本的中文部分出现乱码。下面通过手动指定编码为utf-8
来重新解析该响应文本:
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com")
# 重新指定编码
r.encoding = 'utf-8'
# 打印响应内容
print(r.text)
执行代码,可以看到,图3中的乱码部分已能正确显示出汉字。

2. 请求服务器的url
通过响应对象的url属性(r.url
)可以获取所请求的URL。
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com")
#打印url信息
print(r.url)
执行如下:

以上为Requests库简单入门,后续将更新Requests其他内容。