requests
作用:模拟浏览器发送请求,并接收响应数据
requests模块的下载:
在电脑命令中输入:pip install requests
requests模块的使用:
- (1)导入包:
import requests
-
(2)、对URL即网络地址赋值给变量名,使用get或post方法进行请求,若想获取数据,使用text方法
import requests url = "<https://www.baidu.com/s>" resp = requests.get(url) print(resp.text) -
(3)、若URL中需要参数,则可以使用params,其中参数以键值对的形式存储在字典中。
import requests url = "<https://www.baidu.com/s>" params = { “wd":"美女” } resp = requests.get(url,params = params) print(resp.text) -
(4)、伪装成浏览器:使用headers参数,可模拟浏览器进行访问。
import requests url = "<https://www.baidu.com/s>" params = { “wd":"美女” } headers = { "Upgrade-Insecure-Requests":"1", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0" } resp = requests.get(url,params = params,hearders=headers) print(resp.text)
访问超时:timeout,单位秒
代理:
当我们请求的ip有风险时,可以使用代理,同样构造代理字典,传递给proxies参数。
配合timeou参数可以提取出访问速度快的代理。
重定向:
很多网站是http开头,为了不影响老客户,原网站不动,当访问http的原网址时,重定向到新的https网址,在requests中 allow_redirects默认是True,如果是False则不允许重定向,也就无法重定向新网址获取数据
安全证书忽略:设置参数verify=False
忽略警告:
import warnings warnings.filterwarnings('ignore')
解决乱码:
(1)、发生请求获得响应结果
(2)、在源代码中找到charset
(3)、设置 r. encoding = charset
(4)、在重新获取源码(.text)