python爬虫防屏蔽_Python爬虫防封杀方法集合

本文介绍了Python爬虫防止被网站屏蔽的几种方法,包括设置请求间隔、修改请求头伪装浏览器、使用代理IP以及分布式爬虫。通过设置显性或隐性等待时间降低爬取速度,修改User-Agent欺骗网站,建立代理IP池以应对IP被封,以及利用分布式爬虫提高爬取效率。
摘要由CSDN通过智能技术生成

我们在进行爬虫时难免发生IP被封和403错误等等,这都是网站检测出你是爬虫而进行的反爬措施,下面我总结了几个避免方法。

方法1:设置等待时间

有一些网站的防范措施可能会因为你快速提交表单而把你当做机器人爬虫,比如说以非常人的速度下载图片,登录网站,爬取信息。

常见的设置等待时间有两种,一种是显性等待时间(强制停几秒),一种是隐性等待时间(看具体情况,比如根据元素加载完成需要时间而等待)

1 显性等待时间

import time #导入包time.sleep(3)#设置时间间隔为3秒

尽量在夜深人静的时候进行数据的采集,切记采集不要太快,不然容易让网站识别出是非人类。

2 隐式等待

这里用到的主要语句,以wait.until()为例。

比如说形式如下:

wait1.until(lambda driver: driver.find_element_by_xpath("//div[@id='link-report']/span"))

上面的语句就是在等待页面元素加载全部完成后才进行下一步操作,因为爬虫速度太快,导致一些元素没有被加载完全就进行下一步操作,而导致没有查找到元素或者被网站认为是机器人在进行浏览。

方法2:修改请求头

识别你是机器人还是人类浏览器浏览的重要依据就是User-Agent,比如人类用浏览器浏览就会使这个样子的User-Agent:'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值