2021-11-15爬虫第三天 身份认证

**

爬虫第三天 身份认证

**

  1. ssl验证
  2. 代理设置
  3. 超时设置
  4. 身份认证
    1)基本身份认证
    2)摘要式身份认证
  5. 总结

一、ssl验证

import requests
response=requests.get('https://www.12306.cn/index/')
print(response.status_code)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
模仿
在这里插入图片描述
在这里插入图片描述
设置忽略警告的方式屏蔽警告

import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response=requests.get('http://www.baidu.com',verify=False)
print(response.status_code)

在这里插入图片描述
捕获警告到日志的方式忽略警告

import logging
import requests
logging.captureWarnings(True)
response=requests.get('https://baidu.com',verify=False)
print(response.status_code)

在这里插入图片描述

二、代理设置

设置代理解决问题:对大规模且频繁的请求网站可能会弹出验证码,或者跳转到登录认证界面,更甚者可能会直接封禁客户端的ip,导致一定时间内无法访问。

代理无效
在这里插入图片描述
网上找了一个免费爬代理IP的

【Python脚本】-Python查找可用代理IP

出现错误
在这里插入图片描述
解决:

python异常错误:SyntaxError: Missing parentheses in call to ‘print’

然后出现了抛出异常
在这里插入图片描述
解决:

Python异常处理 -跳过异常继续执行(参考异常的语法)

出现了新的问题
在这里插入图片描述
注释掉这句话后成功运行,可惜就是没有IP
在这里插入图片描述
安装socks协议,requests支持socks协议的代理
在这里插入图片描述
无语了,手打也能出现错误
在这里插入图片描述
Python对代码这方面的排版真的很严格。

在这里插入图片描述

三、超时设置

在这里插入图片描述
在这里插入图片描述
永久等待——不加参数,或者把timeout的参数设置为none

四、身份认证

1)基本身份认证
requests自带身份认证,但还是可能会报ssl错误
在这里插入图片描述
解决:加上ssl验证

import requests
from requests.auth import HTTPBasicAuth
r=requests.get('http://static3.scrape.cuiqingcai.com',auth=HTTPBasicAuth('admin','admin'),verify=False)
print(r.status_code)

在这里插入图片描述
代码可以简写

import requests
from requests.auth import HTTPBasicAuth
r=requests.get('http://static3.scrape.cuiqingcai.com',auth=('admin','admin'),verify=False)
print(r.status_code)

在这里插入图片描述
2)摘要式身份认证——Digest Authentication
在这里插入图片描述

五、总结

多学习Python基础,在排版这方面真的太严格了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值