美文网首页
Requests01.入门

Requests01.入门

作者: 意爹闯天涯 | 来源:发表于2019-09-29 15:57 被阅读0次

一、安装

安装requests库非常简单,只需要在命令行执行以下命令:

pip install requests

以下为执行效果:

图1.requests库安装过程
命令执行后,可使用pip show requests命令查看是否安装成功:
图2.查看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)

可以看到效果如下:

图3.服务器响应的内容
如图所示,使用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)

执行代码:

图4.响应信息编码
可以看到该处是以“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中的乱码部分已能正确显示出汉字。


图5.修改编码

2. 请求服务器的url

通过响应对象的url属性(r.url)可以获取所请求的URL。

import requests


if __name__ == '__main__':
    r = requests.get("https://www.baidu.com")
    #打印url信息
    print(r.url)

执行如下:


图6.获取url

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

相关文章

网友评论

      本文标题:Requests01.入门

      本文链接:https://www.haomeiwen.com/subject/hpdaectx.html