本文主要通过查找网上资料,简单总结一下禁止搜索引擎爬虫抓取网站的方法。
一般情况,大家都是希望搜索引擎爬虫尽可能多的抓取自己的网站,但有时也需要告诉爬虫不要抓取,比如,不要抓取镜像页面等。
搜索引擎抓取自己的网站有它的好处,也存在许多常见问题:
1.网络堵塞丢包严重(上下行数据异常,排除DDOS攻击,服务器中毒。异常下载,数据更新)
2.服务器负载过高,CPU几乎跑满(针对相应的服务配置而定);
3.服务基本瘫痪,路由瘫痪;
4.查看日志发现大量的异常访问日志
一、先查看日志
以下以ngnix的日志为例
cat logs/www.ready.log |grep spider -c (看有爬虫标志的访问次数)
cat logs/www.ready.log |wc (合计总页面的访问次数)
cat logs/www.ready.log |grep spider|awk '{print $1}'|sort -n|uniq -c|sort -nr (查看爬虫的IP地址来源)
cat logs/www.ready.log |awk '{print $1 " " substr($4,14,5)}'|sort -n|uniq -c|sort -nr|head -20(查看爬虫的来源)
二、分析日志
晓得爬虫爬过那些内容,是什么爬虫爬的。什么时候爬的
常见的爬虫:
google蜘蛛: googlebot www.google.com/bot.html
百度蜘蛛:baiduspider www.baidu.com/search/spider.html
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛: lycos_spider_(t-rex)
alltheweb蜘蛛: fast-webcrawler/
inktomi蜘蛛: slurp
有道蜘蛛:YoudaoBot www.youdao.com/help/webmaster/spider/
搜狗蜘蛛:Sogou spider www.sogou.com/docs/help/webmasters.htm#07
三、禁止方法
(一)、禁止IP
服务器配置中可以:deny from 221.194.136
防火墙配置中可以:-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 61.33.22.1/24 -j REJECT
缺点:搜索引擎的爬虫可以能部署在多个服务器(多个IP)上,想完全获得某个搜索引擎的爬虫的全部IP比较困难。
(二)、robot.txt
1. 什么是robots.txt文件?
搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息。
您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网站中不想被robot访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。
2. robots.txt文件放在哪里?
robots.txt文件应该放在网站根目录下。举例来说,当robots访问一个网站(比如http://www.abc.com)时,首先会检查该网站中是否存在http://www.abc.com/robots.txt这个文件,如果机器人找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。
3. "robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何机器人均有效,在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。
Disallow:
该项的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被robot访问到。例如"Disallow:/help"对/help.html 和/help/index.html都不允许搜索引擎访问,而"Disallow:/help/"则允许robot访问/help.html,而不能访问/help/index.html。任何一条Disallow记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎robot,该网站都是开放的。
缺点:当两个域名指向同一个根目录时,如果想允许爬虫抓取其中一个域名的某些网页(A/,等),而想禁止爬虫抓取另外一个域名的这些网页(A/,等),这种方法就不能实现了。
(三)、服务器配置
以nginx服务器为例,可以在域名配置中增加配置
if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")
{
return 403;
}
缺点:只能禁止爬虫抓取域名级别网页。灵活性不足。
分享到:
相关推荐
目前支持以下的搜索引擎: baidu,google,yahoo,ecosia,teoma,360,hotbot,脚本支持直接使用百度或者谷歌的高级搜索语法来进行搜索,谷歌搜索引擎不需要翻墙,抓取的是国内镜像站的数据。 Dependencies: pip -...
搜索引擎爬虫是网络数据抓取的关键工具,它们自动地遍历互联网上的网页,收集信息,以便于搜索引擎构建索引,从而提高搜索效率和准确性。在这个特定的案例中,"搜索引擎爬虫(支持自定目录)" 提供了定制化的目标...
在IT领域,爬虫搜索和搜索引擎是至关重要的技术,它们为获取、整理和提供网络上的海量信息提供了有效手段。本文将深入探讨这些概念,并通过一个简单的Java爬虫程序实例进行说明。 首先,让我们理解什么是爬虫。爬虫...
9. **robots.txt**:配置好`robots.txt`文件,可以指导搜索引擎爬虫哪些页面可以抓取,哪些应该禁止,避免不必要的资源浪费。 10. **AJAX与SEO**:虽然AJAX可提供更好的用户体验,但其异步加载的内容可能不会被搜索...
网站日志蜘蛛在线分析工具源码 日志可视化管理工具源码 快速分析搜索引擎网络爬虫抓取记录 如果是 linux 宝塔面板 的服务器自然环境,大家登陆宝塔面板linux控制面板后,点一下左边“文件”,在www下的wwwlogs文件...
网站日志蜘蛛在线分析工具源码 日志可视化管理工具源码 快速分析搜索引擎网络爬虫抓取记录 如果是 linux 宝塔面板 的服务器自然环境,大家登陆宝塔面板linux控制面板后,点一下左边“文件”,在www下的wwwlogs文件...
蜘蛛日志在线分析工具是一款开源的工具,可用于快速分析网站访问日志中搜索引擎网络爬虫的抓取记录。如果你的服务器运行在linux宝塔面板环境下,你只需要登录宝塔面板的linux控制面板,在左侧导航栏中点击”文件”,...
对于搜索引擎爬虫,可能需要将抓取到的搜索结果保存到数据库或文件中,以便后续分析。 Downloader Middleware是Scrapy中的一系列钩子,用于处理下载器(Downloader)和Spider之间的交互。它可以用来处理请求和响应...
搜索引擎的爬虫,也被称为“蜘蛛”,在访问网站时首先会查找robots.txt,遵循其中的指令来决定它们的抓取行为。 **描述详解:** 虽然描述部分为空,但我们可以通过常规理解来补充:robots.txt文件通常位于网站的根...
### 垂直搜索引擎爬虫系统的...总之,垂直搜索引擎爬虫系统的研究与实现,不仅涉及到网络爬虫、数据处理、建模与仿真、软件工程等多个领域的知识,还需要综合运用多种技术和工具,以实现高效、精准的信息抓取和处理。
标题中的“使用C++语言编写的搜索引擎爬虫源码”是指一种特定的程序设计实践,其目的是通过C++编程语言来实现一个能够自动抓取互联网上信息的工具,即网络爬虫。网络爬虫,也被称为网页蜘蛛或网络机器人,是自动化地...
`robots.txt` 文件是网站与网络爬虫(包括搜索引擎蜘蛛)之间的一种通信方式,用于告诉爬虫哪些页面可以抓取,哪些页面不可以抓取。通过合理设置 `robots.txt` 文件,可以有效地控制网站内容的曝光度,保护隐私信息...
HTTrack 是一个网站镜像工具,通过模拟搜索引擎爬虫,可以检测网站的坏链接和测试搜索引擎对网站可能面临的抓取问题。同时,也可以用来探知一些 SEO 做法的由来。 HTTrack 的爬虫特性和搜索引擎爬虫非常相似,都...
### 禁止搜索引擎爬取网站网页:使用robots.txt与META标签 在互联网时代,网站所有者或管理员可能出于各种原因需要控制搜索引擎对其网站的抓取行为,比如保护隐私、优化搜索结果展示或是减少服务器负担等。对于这些...
通过实践项目,你可以逐步掌握这些技术,从编写简单的爬虫抓取特定网站开始,逐渐升级到构建一个完整的搜索引擎。在这个过程中,你不仅能学到技术,还能理解搜索引擎背后的工作原理,为未来在大数据分析、信息检索等...
搜索引擎关键词排位爬虫,包括百度,搜狗,360的搜索引擎关键词排位爬虫,关键词从百度热词中取得,排位分别从三个搜索引擎中抓取 这个是用来关键词排位爬虫的项,使用python进行编写,从百度热词中获取关键词,...
本篇文章将深入探讨如何使用Python编写一个脚本来抓取Bing搜索引擎的搜索结果,这涉及到网络爬虫的基本原理、Python的相关库以及如何处理抓取的数据。 首先,我们需要了解Python中的网络请求库,如`requests`。`...
该工具的爬虫特性和搜索引擎爬虫非常相似,可以应用于 SEO 工作中,检测网站的坏链接和测试搜索引擎对网站可能面临的抓取问题。 HTTrack 的界面软件的官方网站是 http://www.httrack.com/,软件安装后可以换成中文...
仿百度,后台包含爬虫"说明了该系统的核心部分包括一个后台爬虫,这是搜索引擎的关键组件,它负责抓取互联网上的网页数据,以便于进行索引和搜索。爬虫通过自动遍历和下载网页,收集信息,然后将其存储在数据库或索引...
该论文主要研究了基于强化学习的垂直搜索引擎网络爬虫的设计与实现方法。 #### 垂直搜索引擎简介 垂直搜索引擎是一种专门针对某一特定领域或主题的信息搜索工具,它能够更精确地提供用户所需的信息。与通用搜索...