-
网页如何防止爬虫
- 时间:2024-11-23 15:23:45
大家好,今天Win10系统之家小编给大家分享「网页如何防止爬虫」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
1.如何防止网站被爬虫爬取的几种办法
相较于爬虫技术,反爬虫实际上更复杂。目前许多互联网企业都会花大力气进行“反爬虫”,网络爬虫不但会占据过多的网站流量,导致有真正需求的用户没法进入网站,另外也有可能会导致网站关键数据的外泄等现象。网络爬虫遍布互联网的各个角落,因此网络爬虫有好处也有坏处,接下来介绍一下和网络爬虫一同诞生的反爬虫技术,如何才能防止别人爬取自己的网站?
1、基于程序本身去防止爬取:作为爬虫程序,爬取行为是对页面的源文件爬取,如爬取静态页面的html代码,可以用jquery去模仿写html,这种方法伪装的页面就很难被爬取了,不过这种方法对程序员的要求很高。
2、基于iptables和shell脚本:可以对nginx的access.log进行策略定义,例如定义在1分钟内并发连接数超过30个ip为非法,如ip不在白名单内,则加入iptables策略封掉,当然这种的缺点是会有“误伤”,策略细粒度越小就会有更多的“误伤”,细粒度大就会使效果变差,另外还有类似的第三方工具fail2ban,利用做filter和actor对一些有危害的操作记录或是封ip。但是对于某个特定的爬虫地址(例如网易、有道)的爬取行为拒绝也很难准确做到,因为你无法准确知道这些特定的爬虫ip地址。注意:建议不要用封ip条目的方式,iptables列表长度是65535时就会封满,服务器也就会死机。
3.使用robots.txt文件:例如阻止所有的爬虫爬取,但是这种效果不是很明显。
User-agent: *
Disallow: /
4.使用nginx的自带功能:通过对httpuseragent阻塞来实现,包括GET/POST方式的请求,以nginx为例,具体步骤如下:
编辑nginx.conf
拒绝以wget方式的httpuseragent,增加如下内容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
平滑启动
# /usr/local/nginx/sbin/nginx -s reload
如何拒绝多种httpuseragent,内容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小写敏感匹配
### 大小写敏感http user agent拒绝###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小写不敏感http user agent拒绝###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
注意语法:~*表示是大小写不敏感,~表示是大小写敏感
}
以上就是预防网站信息被别人爬取的一些方法,大量的爬取行为会对web服务器的性能有影响,所以一定要注重反爬虫措施。
2.有什么好方法防止自己网页的内容被采集
防止自己网页的内容被采集有非常多的方法
方法一:内容配图加水印
当你的文章中含有图片时候,可以给图片打上水印,这样就留下了你的信息,对方要采集或者复制您文章后,不可能一张一张的去处水印,这样也算是变相地帮助我们宣传网站。
方法二:内容随机穿插版权信息
在不影响用户阅读体验的情况下,尽量在内容段落之间随机插入一些之间的信息,比如:网站名字,链接,版权作者,QQ等,这样的话,就算对方使用采集器过滤也不可能每篇文章都能过滤得掉。
方法三:作品结尾留作者信息及链接
不过这个方法作用不是很大,因为很多人复制或转载内容时直接去掉了,可以参考方法二,适当在段落结尾处不影响阅读的情况下下随机插入较好。
方法四:主动推送网址给百度收录
百度给出的链接提交方式有以下三种:
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
3、手工提交:一次性提交链接给百度,可以使用此种方式。
方法五:利用JS加密网页内容
这个方法是在个别网站上看到的,非常暴力。缺点:搜索引擎爬虫无法识别收录和通杀所有采集器,针对极度讨厌搜索引擎和采集器的网站的站长使用,量力而行,您能豁出去了,别人也就没办法采集你了。
方法六:网站随机采用不同模版
分析:因为采集器是根据网页结构来定位所需要的内容,一旦先后两次模版更换,采集规则就失效,不错。而且这样对搜索引擎爬虫没影响。
适用网站:动态网站,并且不考虑用户体验。
采集器会怎么做:一个网站模版不可能多于10个吧,每个模版弄一个规则就行了,不同模版采用不同采集规则。如果多于10个模版了,既然目标网站都那么费劲的更换模版,成全他,撤。
方法七:利用脚本语言做分页(隐藏分页)
分析:还是那句,搜索引擎爬虫不会针对各种网站的隐藏分页进行分析,这影响搜索引擎对其收录。但是,采集者在编写采集规则时,要分析目标网页代码,懂点脚本知识的人,就会知道分页的真实链接地址。
适用网站:对搜索引擎依赖度不高的网站,还有,采集你的人不懂脚本知识。
采集器会怎么做:应该说采集者会怎么做,他反正都要分析你的网页代码,顺便分析你的分页脚本,花不了多少额外时间。
方法八:限制IP地址单位时间的访问次数
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。
弊端:一刀切,这同样会阻止搜索引擎对网站的收录。
适用网站:不太依靠搜索引擎的网站。
采集器会怎么做:减少单位时间的访问次数,减低采集效率。
希望可以帮到你!
以上就是关于「网页如何防止爬虫」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
此*文为Win10系统之家www.ghost580.net文②章,不得自行转载,违者必追究!
相关文章
-
1.如何防止网站被爬虫爬取的几种办法相较于爬虫技术,反爬虫实际上更复杂。目前许多互联网企业都会花大力气进行“反爬虫”,网络爬虫不但会占据过多的网站流量,导致有真正需求的用户没法进入网站,另外也有可能会导致网站...
-
1.如何防止网页自动跳转被广告弹窗、恶意跳转链接、改首页骚扰的解决方案:(1)手动方法:1.c:\programfiles\internetexplorer此处查找浏览器3354>发送到桌面快捷方式,使用这个。2.删除地址栏的快捷方式,用上面的快捷方...
-
1.如何禁止弹出网页浏览网页时,经常会弹出一些广告页面。虽然关闭可以取消弹窗,但是每次都要做重复的操作,真的很麻烦。那么有没有一种简单的方法可以阻止网页内容的弹出呢?其实我们可以通过以下步骤来阻止网页窗口的...
-
1.如何取消“是否只查看安全传送的网页内容”提示我们用浏览器打开某些网页时,有时会弹出“是否只查看安全传送的网页内容”对话框。每次都需要对其进行关闭,这给我们上网带来了不便。今天小编就跟大家分享下解决这个问题...