比如,要启用一个新的域名做镜像网站,主要用于PPC 的推广,这个时候就要想办法屏蔽搜索引擎蜘蛛抓取和索引我们镜像网站的所有网页。因为如果镜像网站也被搜索引擎收录的话,很有可能会影响官网在搜索引擎的权重。
以下列举了屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路。注意:是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫(蜘蛛)。
1、通过 robots.txt 文件屏蔽
可以说 robots.txt 文件是最重要的一种渠道(能和搜索引擎建立直接对话),给出以下建议:
User-agent: Baiduspider
Disallow: /
User-agent: Googlebot
Disallow: /
User-agent: Googlebot-Mobile
Disallow: /
User-agent: Googlebot-Image
Disallow:/
User-agent: Mediapartners-Google
Disallow: /
User-agent: Adsbot-Google
Disallow: /
User-agent:Feedfetcher-Google
Disallow: /
User-agent: Yahoo! Slurp
Disallow: /
User-agent: Yahoo! Slurp China
Disallow: /
User-agent: Yahoo!-AdCrawler
Disallow: /
User-agent: YoudaoBot
Disallow: /
User-agent: Sosospider
Disallow: /
User-agent: Sogou spider
Disallow: /
User-agent: Sogou web spider
Disallow: /
User-agent: MSNBot
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: Tomato Bot
Disallow: /
User-agent: *
Disallow: /
2、通过 meta tag 屏蔽
在所有的网页头部文件添加,添加如下语句:
<meta name="robots" content="noindex, nofollow">
3、通过服务器(如:Linux/nginx )配置文件设置
直接过滤 spider/robots 的IP 段。
小注:第1招和第2招只对“君子”有效,防止“小人”要用到第3招(“君子”和“小人”分别泛指指遵守与不遵守 robots.txt 协议的 spider/robots),所以网站上线之后要不断跟踪分析日志,筛选出这些 badbot 的ip,然后屏蔽之。
1、useragent模仿谷歌浏览器,获取十几个代理ip,爬的过程中不断轮换ip。2、通过注册等各种方法,获取一个真实账号,模拟登陆,每次请求携带登录产生的cookie。
3、设置定时器,直接爬取所有能爬取的数据。
分辨爬虫的善恶。网络爬虫分为两种,一种是善意爬虫,例如百度、Google等搜索引擎的爬虫,另一种是恶意爬虫,它可能会利用网站漏洞,非法窃取网站数据,或者爬取网站内容,占用服务器资源。恶意爬虫的行为是我们所深恶痛觉的,必须想尽办法予以过滤和阻断。网站或者某一些网页不想被诸如百度、Googl等善意爬虫爬取时,我们也希望能采取一些措施。
如何防止网站被爬虫?
针对善意爬虫,几乎所有的搜索引擎爬虫,都会遵守robots协议,只要我们在网站的根目录下存放一个ASCII编码的文本文件,告诉搜索引擎哪些页面不能爬取,搜索引擎的蜘蛛便会遵照协议,不爬取指定页面的内容。
但是robots并不是一个规范,而是一种君子协议,它只对善意爬虫有效,并不能防止恶意爬虫。
针对恶意爬虫,我们可以采取以下措施来识别和阻断它。