Python爬虫之requests模块
一、requests模块介绍
1、requests模块的作用:
2、requests模块是一个第三方模块,需要在你的python(虚拟)环境中额外安装
pip/pip3 install requests
3、requests模块发送get请求
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
二、response响应对象
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.content.decode())
- response.text是requests模块按照chardet模块推测出的编码字符集进行解码的结果
- 网络传输的字符串都是bytes类型的,所以response.text = response.content.decode(‘推测出的编码字符集’)
- 我们可以在网页源码中搜索
charset
,尝试参考该编码字符集,注意存在不准确的情况
1、response.text 和response.content的区别:
- response.text
- 类型:str
- 解码类型: requests模块自动根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码
- response.content
2、通过对response.content进行decode,来解决中文乱码
response.content.decode()
默认utf-8response.content.decode("GBK")
- 常见的编码字符集
- utf-8
- gbk
- gb2312
- ascii (读音:阿斯克码)
- iso-8859-1
3、response响应对象的其它常用属性或方法
response.url
响应的url;有时候响应的url和请求的url并不一致response.status_code
响应状态码response.request.headers
响应对应的请求头response.headers
响应头response.request._cookies
响应对应请求的cookie;返回cookieJar类型response.cookies
响应的cookie(经过了set-cookie动作;返回cookieJar类型response.json()
自动将json字符串类型的响应内容转换为python对象(dict or list)
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.url)
print(response.status_code)
print(response.request.headers)
print(response.headers)
print(response.request._cookies)
print(response.cookies)