前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >反爬虫的重点:识别爬虫

反爬虫的重点:识别爬虫

原创
作者头像
太后
发布2022-07-07 16:00:08
7490
发布2022-07-07 16:00:08
举报
文章被收录于专栏:短信接收服务

我们在网站运营的时候,最大的问题就是:我们自己花费几个小时甚至是几天辛辛苦苦创作作的内容,被爬虫只需要 1s 就抓去了。为了保卫我们创作的成果,也为了网站的稳定运行,我们需要对爬虫说:No,我们在反爬虫的过程中最重要的就是如何识别爬虫

为了识别识别爬虫,常用的有以下几个方法:

真人检测

所谓的真人检测也就是出现一个验证码,让你输入验证码的内容,这些验证码对于人类来说很容易识别,但是对于机器来说却很难识别,例如这种验证码:

图像识别验证码
图像识别验证码

这种验证码只有人类很轻易识别,爬虫却很难识别。

滑块类验证码

这里验证码对于人类来说也很友好,我们只需要将滑块移到一个阴影的位置,例如下面这种:

滑块验证码
滑块验证码

这类验证码对于人来来说轻而易举,但是对于爬虫来说有一定难度,但是也是可以破解的。

这些在一些特殊场合的确是可以防止爬虫对于你创作内容的抓取,但是你成功的防止了恶意爬虫,也成功的防止了搜索引擎爬虫来抓取你的内容。

**我们为什么要允许搜索引擎爬虫来抓取我们的内容?**

这个主要是由于搜索引擎可以给我带来流量,有了流量我们就可以想办法变现,有没有嗅到金钱的味道。

例如我们在百度搜索:爬虫识别,并点击了我的网站,就有访客访问网站,就给网站带来了流量。

百度搜索爬虫识别结果
百度搜索爬虫识别结果

那百度怎么知道我们网站上有什么内容呢?

百度搜索引擎每天有成千上万的爬虫在互联网上抓取内容,并将百度爬虫抓取的内容存入自己的索引之中,在根据一定的算法为每个网页排名,之后用户搜索相应的关键词之后,有可能会到达你网站,就会给你带来流量。

这就是为什么我们不能屏蔽搜索引擎爬虫的原因了,如果你像屏蔽其他爬虫一样屏蔽搜索引擎爬虫,那么搜索引擎爬虫将无法抓取你网站的内容,就不会在搜索结果中展示你的网站,也不会为你带来任何流量。

那现在有一个问题就是,我们既要屏蔽一些恶意爬虫,又不能屏蔽搜索引擎爬虫,我真的好难呀!

为了解决这个问题,我们可以使用爬虫识别这个网站来解决上面的问题。

首先我们需要根据 User-agent 先过滤掉一部分恶意爬虫,搜索引擎的 User-agent 我们可以在这里查看:搜索引擎爬虫

这里收集和整理了市面上大部分搜索引擎的 User-agent 与 IP 地址,例如下面是百度蜘蛛的 User-agent:

百度蜘蛛的 User-agent
百度蜘蛛的 User-agent

通过比对 User-agent 我们可以初步判断是不是搜索引擎的爬虫,但是 User-agent 是可以轻易伪造的,所以我们还需要配合 IP 来识别爬虫是否是真实的。

我们只需要到爬虫 IP 查询输入 IP 就可以知道这个是不是伪造爬虫了。

总结

这篇文章首先从验证码开始如何防止爬虫抓取我们网站,但是我们又不能屏蔽所有爬虫抓取我们网站,我们如何通过 User-agent 与 IP 结合的方式判断是搜索引擎爬虫,并让其抓取我们网站。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 真人检测
  • 滑块类验证码
  • 总结
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档