- 1
- 0
- 约3.67千字
- 约 30页
- 2026-03-12 发布于广西
- 举报
爬虫课程拓展
目录requests的其他方法常见的反爬手段代理ip的检测
requests的其他方法
情景引入在访问网站的时候,有些时候我们会遇到访问提示,只需根据提示进行点击,并不影响我们正常的访问。但是如果在代码中出现这种问题,我们又该如何解决呢?
循序善诱出现这个问题的原因是:ssl的证书不安全导致SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
思维构建importrequestsurl=/mormhweb/response=requests.get(url)ssl.CertificateError...返回证书错误,如下:在代码中发送请求
思维构建为了在代码中能够正常的请求,我们修改添加一个参数解决方案importrequests
url=/mormhweb/
#requests.packages.urllib3.disable_warnings()#不显示安全提示
response=requests.get(url,verify=False)
思维构建在上网的过程中,我们经常会遇到网络波动,这个时候,一个请求等了很久可能仍然没有结果。在爬虫中,一个请求很久没有结果,就会让整个项目的效率变得非常低,这个时候我们就需要对请求进行强制要求,让他必须在特定的时间内返回结果,否则就报错。
思维构建response=requests.get(url,timeout=3)超时参数使用方法如下:通过添加timeout参数,能够保证在3秒钟内返回响应,否则会报错
思维构建使用超时参数能够加快我们整体的请求速度,但是在正常的网页浏览过成功,如果发生速度很慢的情况,我们会做的选择是刷新页面,那么在代码中,我们是否也可以刷新请求呢?
思维构建使用retrying模块提供的retry方法通过装饰器的方式使用,让被装饰的函数反复执行retry中可以传入参数stop_max_attempt_number,让函数报错后继续重新执行,达到最大执行次数的上限,如果每次都报错,整个函数报错,如果中间有一个成功,程序继续往后执行。retrying模块的使用
思维构建importrequests
fromretryingimportretry
headers={}
#最大重试3次,3次全部报错,才会报错
@retry(stop_max_attempt_number=3)
def_parse_url(url):
#超时的时候回报错并重试
response=requests.get(url,headers=headers,timeout=3)
#状态码不是200,也会报错并重试
assertresponse.status_code==200
returnresponse
思维构建
defparse_url(url):
try:#进行异常捕获
response=_parse_url(url)
exceptExceptionase:
print(e)
#报错返回None
response=None
returnresponse同时,我们可以设置异常捕获,来获取报错信息,方便代码重新检查
常见的反爬手段
编玩边学反反爬的主要思路就是: 尽可能的去模拟浏览器,浏览器在如何操作,代码中就如何去实现。例如:浏览器先请求了地址url1,保留了cookie在本地,之后请求地址url2,带上了之前的cookie,代码中也可以这样去实现。
编玩边学?通过headers字段来反爬反爬原理:爬虫默认情况下没有User-Agent解决方法:请求之前添加User-Agent即可;更好的方式是使用User-Agent池来解决(收集一堆User-Agent的方式,或者是随机生成User-Agent)1、通过headers中的User-Agent字段来反爬
编玩边学2、通过referer字段或者是其他字段来反爬反爬原理:爬虫默认情况下不会带上referer字段解决方法:添加referer字段。例如在百度翻译的时候。?通过headers字段来反爬
编玩边学3、通过cookie来反爬如果目标网站不需要登录每次请求带上前一次返回的cookie,比如requests模块的session如果目标网站需要登录准备多个账号,通过一个程序获取账号对应的cookie,组成cookie池,其他程序使
您可能关注的文档
- python课件教案03-教案.docx
- python课件教案04-教案.docx
- python课件教案05-教案.docx
- python课件教案06_函数拓展.pptx
- python课件教案06-教案.docx
- python课件教案07-教案.docx
- python课件教案10-教案.docx
- python课件教案11-教案.docx
- python课件教案12-教案.docx
- python课件教案13-教案.docx
- 广西壮族自治区2025-2026学年高一上学期期中考试历史试题(解析版).docx
- 黑龙江省绥化市新时代联考2025-2026学年高二上学期期中考试历史试题(解析版).docx
- 江西省多校联考2025-2026学年高三上学期11月联考历史试题(解析版).docx
- 江西省赣州市大余县部分学校联考2024-2025学年高二上学期12月月考历史试题(解析版).docx
- 广西壮族自治区钦州市泽桂未来教共体2025-2026学年高二上学期11月教学质量联测(期中)历史试题(解析版).docx
- 广西壮族自治区2025-2026学年高一上学期期中考试历史试题.docx
- 湖北省多校2025-2026学年高三上学期十月份阶段监测联合考试历史试题(解析版).docx
- 广东省东莞市四校联考2025-2026学年高二上学期10月月考历史试题(解析版).docx
- 黑龙江省新时代高中教育联合体2025-2026学年高一上学期期中联考巩固历史试题(二).docx
- 湖北省部分省级示范高中2025-2026学年高二上学期期中考试历史试卷(解析版).docx
原创力文档

文档评论(0)