requests实际上是更高级的urllib的类,作用都一样,只是使用的时候写法不一样,urllib传参需要url编码,添加请求头、设置代理IP和cookie都很麻烦,所以一般都是用requests比较多
像AJAX、WinHttp,这些都有很多相关的封装,方便使用:直接调用get、post这些相应的方法,传入url、参数、请求头、cookies等… 即可实现各种请求,而不需要手动去处理各种参数编码、请求头、cookies等问题
$.get() $.post requests.get() requests.post()
requests库安装
中文文档:http://docs.python-requests.org/zh_CN/latest/index.html
github地址:https://github.com/requests/requests
因为是第三方库,不是Python安装后自带的所以需要先安装这个库
而Python安装第三方库,使用pip非常简单
通过pip安装
直接在cmd输入:pip install requests 即可安装
或者通过pycharm安装,具体可百度一下pycharm相关的使用方法
get请求
发送get请求,直接通过requests.get(),传入url地址、params、headers即可
提交参数不需要自己进行url编码,模块会编码好
import requests
response = requests.get('http://www.baidu.com')
print(type(response.text)) # 使用.text返回的是<class 'str'> 字符串类型 Unicode格式的数据
print(response.text) # 模块自己会解码,但是有时会出现编码错误的情况
print(type(response.content)) # 使用.content返回的是<class 'bytes'> 字节码 字节流数据
print(response.content)
# 使用.content,然后自己根据网站的编码方式,解码为正常的网页html数据
print(response.content.decode('utf-8'))
"""其他属性说明"""
print(response.url