目录
一、SSL验证
什么是ssl?ssl认证_百度百科
以酷狗网站作例子,先来发请求。
import requests
response = requests.get('https://www.kugou.com/')
print(response.status_code)
状态码返回200,则表示请求成功。那返回其他的看不懂怎么办呢?于是,我就去找了下面这个链接,嘿嘿嘿~~
https://www.runoob.com/http/http-status-codes.htm
如果报错SSLError,表示证书验证错误,可以把verify参数设置为False即可。
但还是有报错警告,让我们添加证书,对于这个可以直接设置忽略警告来跳过。
urllib3.disable_warnings()
运行就可以了。
二、代理设置
对于某些网站,在测试的时候请求几次,能正常获取内容。但是一旦开始大规模爬取,对于大规模且频繁的请求,网站可能会弹出验证码,或者跳转到登录认证页面,更甚者可能会直接封禁客户端的 IP,导致一定时间段内无法访问。
那么,为了防止这种情况发生,我们需要设置代理来解决这个问题,这就需要用到 proxies 参数。可以用这样的方式设置:
这个我还不会......所以我把川哥的教程链接放在这里了~
爬虫requests高阶篇详细教程_python菜鸟-CSDN博客_爬虫教程
三、超时设置
在本机网络状况不好或者服务器网络响应太慢甚至无响应时,可能很久才会有响应,或直接报错 。 对于这,可以设置一个超时时间,即超过了这个时间还没有得到响应,那就报错。这需要用到 timeout 参数。这个时间的计算是~~~发出请求到服务器返回响应的时间。示例 设置为:1
type blog - Bing 词典 上面的timeout设置的是连接(connect)和读取(read)的timeout总和,分别指定的话,可以传入一个元组就OKK .例如:timeout=(10,20)
四、身份认证
1)基本身份认证
可以使用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~~~