防止网站被采集的理论分析以及十条方法对策
2023-06-13 09:14:08 时间
a.两者都需要直接抓取到网页源码才能有效工作,
b.两者单位时间内会多次大量抓取被访问的网站内容;
c.宏观上来讲两者IP都会变动;
d.两者多没耐心的去破解你对网页的一些加密(验证),比如网页内容通过js文件加密,比如需要输入验证码才能浏览内容,比如需要登录才能访问内容等。
搜索引擎爬虫先忽略整个网页源码脚本和样式以及html标签代码,然后对剩下的文字部分进行切词语法句法分析等一系列的复杂处理。而采集器一般是通过html标签特点来抓取需要的数据,在制作采集规则时需要填写目标内容的开始标志何结束标志,这样就定位了所需要的内容;或者采用对特定网页制作特定的正则表达式,来筛选出需要的内容。无论是利用开始结束标志还是正则表达式,都会涉及到html标签(网页结构分析)。
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。
弊端:一刀切,这同样会阻止搜索引擎对网站的收录
适用网站:不太依靠搜索引擎的网站
采集器会怎么做:减少单位时间的访问次数,减低采集效率
弊端:似乎没什么弊端,就是站长忙了点
适用网站:所有网站,且站长能够知道哪些是google或者百度的机器人
采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)。
Note:这个方法我没接触过,只是从别处看来
分析:不用分析了,搜索引擎爬虫和采集器通杀
适用网站:极度讨厌搜索引擎和采集器的网站
采集器会这么做:你那么牛,都豁出去了,他就不来采你了
分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件,那些文字没了风格,就显示出来了。
适用网站:所有网站
采集器会怎么做:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。
分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为。
适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站
采集器会怎么做:制作拟用户登录提交表单行为的模块
分析:还是那句,搜索引擎爬虫不会针对各种网站的隐藏分页进行分析,这影响搜索引擎对其收录。但是,采集者在编写采集规则时,要分析目标网页代码,懂点脚本知识的人,就会知道分页的真实链接地址。
适用网站:对搜索引擎依赖度不高的网站,还有,采集你的人不懂脚本知识
采集器会怎么做:应该说采集者会怎么做,他反正都要分析你的网页代码,顺便分析你的分页脚本,花不了多少额外时间。
分析:asp和php可以通过读取请求的HTTP_REFERER属性,来判断该请求是否来自本网站,从而来限制采集器,同样也限制了搜索引擎爬虫,严重影响搜索引擎对网站部分防盗链内容的收录。
适用网站:不太考虑搜索引擎收录的网站
采集器会怎么做:伪装HTTP_REFERER嘛,不难。
分析:对搜索引擎爬虫和采集器支持性不好,这个很多懂点seo的人都知道
适用网站:媒体设计类并且不在意搜索引擎收录的网站
采集器会怎么做:不采了,走人
分析:因为采集器是根据网页结构来定位所需要的内容,一旦先后两次模版更换,采集规则就失效,不错。而且这样对搜索引擎爬虫没影响。
适用网站:动态网站,并且不考虑用户体验。
采集器会怎么做:一个网站模版不可能多于10个吧,每个模版弄一个规则就行了,不同模版采用不同采集规则。如果多于10个模版了,既然目标网站都那么费劲的更换模版,成全他,撤。
分析:这个比较变态。考虑到html标签内含空格和不含空格效果是一样的,所以<div>和<div>对于页面显示效果一样,但是作为采集器的标记就是两个不同标记了。如果次页面的html标签内空格数随机,那么
采集规则就失效了。但是,这对搜索引擎爬虫没多大影响。
适合网站:所有动态且不想遵守网页设计规范的网站。
采集器会怎么做:还是有对策的,现在htmlcleaner还是很多的,先清理了html标签,然后再写采集规则;应该用采集规则前先清理html标签,还是能够拿到所需数据。
相关文章
- 云服务器安装宝塔面板,如何对高并发大流量网站的优化方法策略
- awvs使用方法_一般人游50米要多久
- 计算机错误代码0X000000be,Win7系统出现蓝屏代码0x000000BE的解决方法「建议收藏」
- 电商网站商品价格获取方法_电商网站
- 网站优化排名最好的5个方法白狐公羊seo
- php实现网站访客数量统计的方法(简单实现,不能防刷新)
- 博客网站保护版权,防止复制查看源代码的方法
- 识别网站cms的小方法
- 营销型网站建设怎么做好?做好营销型网站的方法
- IIS6.0 silverlight网站部署方法
- MySQL查询前十条记录的实现方法(mysql查询前10条记录)
- 查看Linux系统端口信息的方法(查看linux端口占用)
- Oracle判断数字的正确方法(oracle判断数字)
- 文件Linux获取文件第一行的简便方法(linux获取第一行)
- 探寻网站MySQL数据库连接的方法(网站mysql数据库连接)
- 查看MSSQL表空间大小的方法(查看表空间大小mssql)
- MySQL过程中循环使用方法(mysql过程循环)
- MSSQL读取所有列表的有效方法(mssql读取所有列表)
- Linux下网站无法访问的解决方法(linux 网站打不开)
- MySQL注册码获取方法 详细步骤让你轻松拥有 z注册码(mysql z注册码)
- 在MySQL数据库中复位根用户的密码的方法
- apache配置模拟外网环境开发网站的方法
- 利用MySQL加密函数保护Web网站敏感数据的方法分享
- iis7下url重写后已存在的html不能访问了的解决方法
- FileStream常用的属性与方法总结
- 网站防止被刷票的一些思路与方法