爬虫requests高阶学习~~@川川菜鸟博主

目录

一、SSL验证

 二、代理设置

三、超时设置

四、身份认证


一、SSL验证

什么是ssl?ssl认证_百度百科

以酷狗网站作例子,先来发请求。

import requests

response = requests.get('https://www.kugou.com/')
print(response.status_code)

爬虫requests高阶学习~~@川川菜鸟博主

 状态码返回200,则表示请求成功。那返回其他的看不懂怎么办呢?于是,我就去找了下面这个链接,嘿嘿嘿~~

 https://www.runoob.com/http/http-status-codes.htm

如果报错SSLError,表示证书验证错误,可以把verify参数设置为False即可。

爬虫requests高阶学习~~@川川菜鸟博主

 但还是有报错警告,让我们添加证书,对于这个可以直接设置忽略警告来跳过。 

urllib3.disable_warnings()

 运行就可以了。爬虫requests高阶学习~~@川川菜鸟博主

 二、代理设置

对于某些网站,在测试的时候请求几次,能正常获取内容。但是一旦开始大规模爬取,对于大规模且频繁的请求,网站可能会弹出验证码,或者跳转到登录认证页面,更甚者可能会直接封禁客户端的 IP,导致一定时间段内无法访问。
那么,为了防止这种情况发生,我们需要设置代理来解决这个问题,这就需要用到 proxies 参数。可以用这样的方式设置:
这个我还不会......所以我把川哥的教程链接放在这里了~

爬虫requests高阶篇详细教程_python菜鸟-CSDN博客_爬虫教程

三、超时设置

在本机网络状况不好或者服务器网络响应太慢甚至无响应时,可能很久才会有响应,或直接报错 。 对于这,可以设置一个超时时间,即超过了这个时间还没有得到响应,那就报错。这需要用到 timeout 参数。这个时间的计算是~~~发出请求到服务器返回响应的时间。示例 设置为:1爬虫requests高阶学习~~@川川菜鸟博主

 type blog - Bing 词典 上面的timeout设置的是连接(connect)和读取(read)的timeout总和,分别指定的话,可以传入一个元组就OKK .例如:timeout=(10,20)

四、身份认证

1)基本身份认证

可以使用requests自带的身份认证功能:

爬虫requests高阶学习~~@川川菜鸟博主

 基本格式:

import requests  
from requests.auth import HTTPBasicAuth  

r = requests.get('http://localhost:5000', auth=HTTPBasicAuth('username', 'password'))  
print(r.status_code)

 2)摘要式身份认证

import requests
from requests.auth import HTTPDigestAuth  
url = 'http://httpbin.org/digest-auth/auth/user/pass'  
requests.get(url, auth=HTTPDigestAuth('user', 'pass'))  

总结,慢慢来,小白打卡ing~~~

上一篇:Qt之启动外部程序


下一篇:requests的post和get