1:requests库与urllib库的差别
requests
库设计之初的想法就是以服务人为理念。- request库的官方文档来说,requests库就是用来为人服务的,所以说requests库相比urllib库来说是非常人性化的
2:快速入门
- 主要说的是requests库是如何来发送get和post请求的
2.1:安装requestsa库
- 使用DOS命令:
pip install requests
- 确定其安装:
可以直接在pycharm中运行命令import requests
看是否报错,如果没有报错则说明安装成功,如果报错可以试着换源安装。 - pip换源安装方法
2.2:处理在url中的参数
- params:拓展,params:参数
- 在抓包工具中的form Data中可以找到,当中包含的是客户端传递给服务端的数据
- params以字典的形式存储,在requests中的get方法中可以通过指定关键字参数的形式来指定params,主要是用来处理url中携带参数
- 值得说的是在requests中的url中可以中文参数,因为requests可以自动处理这些中文的参数,单从这一点上来看,requests就比urllib比较人性化
2.3:读取响应的数据
- 在requests中的get方法中返回数据的形式可以是多种多样。比如:html、txt、csv、mysql、mongodb等等
2.4:响应数据的处理
- 1:response.content()
- 返回的是bytes形式的数据,也就是返回的是一种二进制形式
- 直接返回网络上抓取的数据,不对抓取的数据做任何的处理,没有对网络上的二进制数据进行解码操作
- 2:response.text()
- 返回的数据类型为str类型,会对response.content()返回的数据进行解码操作,但是解码的方式是通过猜的方法来获得的
- 因为该方法的解码方法是通过猜的方法来获得的,所以会出现乱码的情况,所以可以通过一些反方法来手动之指定一个解码的方式
2.5:解决返回数据乱码的情况
- 通过手动指定一个解码方法
- 方法一:requests.content().decode(‘utf-8’)
- 返回的是str类型的数据
- 方法二:
response = response.encoding='utf-8'
print(response.text)
返回的是str类型数据