爬虫开发知识入门基础(3)

爬虫的反爬
反爬这部分是个重点,爬虫现在已经越来越难了,非常多的网站已经添加了各种反爬措施,在这里可以分为非浏览器检测、封 IP、验证码、封账号、字体反爬等。
爬虫开发知识入门基础(3)
下面主要从封 IP、验证码、封账号三个方面来阐述反爬的处理手段。
反爬 / 封 IP
对于封 IP 的情况,可以分为几种情况来处理:
• 首先寻找手机站点、App 站点,如果存在此类站点,反爬会相对较弱。
• 使用代理,如抓取免费代理、购买亿牛云付费代理、使用 Tor 代理、Socks 代理等。
• 在代理的基础上维护自己的代理池,防止代理浪费,保证实时可用。
反爬 / 验证码
验证码分为非常多种,如普通图形验证码、算术题验证码、滑动验证码、点触验证码、手机验证码、扫二维码等。
• 对于普通图形验证码,如果非常规整且没有变形或干扰,可以使用 OCR 识别,也可以使用机器学习、深度学习来进行模型训练,当然打码平台是最方便的方式。
• 对于算术题验证码,推荐直接使用打码平台。
• 对于滑动验证码,可以使用**算法,也可以模拟滑动。后者的关键在于缺口的找寻,可以使用图片比对,也可以写基本的图形识别算法,也可以对接打码平台,也可以使用深度学习训练识别接口。
• 对于点触验证码,推荐使用打码平台。
• 对于手机验证码,可以使用验证码分发平台,也可以购买专门的收码设备,也可以人工验证。
• 对于扫二维码,可以人工扫码,也可以对接打码平台。
爬虫开发知识入门基础(3)爬虫开发知识入门基础(3)爬虫开发知识入门基础(3)反爬 / 封账号
某些网站需要登录才能爬取,但是一个账号登录之后请求过于频繁会被封号,为了避免封号,可以采取如下措施:
• 寻找手机站点或 App 站点,此种类别通常是接口形式,校验较弱。
• 寻找无登录接口,尽可能寻找⽆无需登录即可爬取的接口。
• 维护 Cookies 池,使⽤用批量账号模拟登录,使⽤时随机挑选可用 Cookies 使⽤即可
• 有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。
User-Agent可以用亿牛云代理IP提供给的真实库,Referer的来源可以伪装成百度搜索来的。
当然爬虫采集数据使用高质量的http代理 ,效果是最好的。