php禁止网页抓取(做网站时有些目录或者文件不希望搜索引擎蜘蛛搜索到)
优采云 发布时间: 2021-09-27 03:24php禁止网页抓取(做网站时有些目录或者文件不希望搜索引擎蜘蛛搜索到)
我们在做网站的时候,有些目录或者文件是不想让搜索引擎蜘蛛找到的,比如背景,重要的页面或者文件。那么我们现在应该怎么做呢?最简单的方法是修改网页中的robots.txt文件和robots Meta标签。
robots.txt 文件有什么作用?robots文件也叫robots协议(也叫爬虫协议、爬虫规则、机器人协议等)。机器人协议告诉搜索引擎哪些页面可以被抓取,哪些页面不能被抓取。机器人协议不是命令,它只是一个在互联网社区流行的网站道德规范。知名的引擎蜘蛛都会遵守这个协议,只有一些缺乏职业道德的搜索引擎才会绕过它。因此,修改本协议并非万能保险。
robots.txt文件是放在网站根目录下的记事本文件。搜索蜘蛛访问网站时,会首先检查站点根目录下是否存在robots.txt。如果存在,搜索机器人会根据文件内容确定访问范围;如果该文件不存在,则所有搜索蜘蛛都将能够访问 网站 上不受密码保护的所有页面。百度官方建议只有当您的网站收录您不想被收录搜索到的内容时才需要使用robots.txt文件。如果您想要搜索引擎收录网站 上的所有内容,请不要创建robots.txt 文件。
如何阻止机器人文件
下面是网站的robots文件的代码风格。
================================================== ==================================
用户代理: *
禁止:/plus/ad_js.php
禁止:/plus/advancedsearch.php
禁止:/plus/car.php
禁止:/plus/carbuyaction.php
禁止:/plus/shops_buyaction.php
禁止:/plus/erraddsave.php
禁止:/plus/posttocar.php
禁止:/plus/disdls.php
禁止:/plus/feedback_js.php
禁止:/plus/mytag_js.php
禁止:/plus/rss.php
禁止:/plus/search.php
禁止:/plus/recommend.php
禁止:/plus/stow.php
禁止:/plus/count.php
禁止:/包括
禁止:/templets
================================================== ==================================
我们来看看它的含义。
robots 文件应同时收录两个域,“User-agent:”和“Disallow:”,其中 User-agent: 代表允许,Disallow: 代表禁止。每条指令都在它自己的行上。并且 User-agent 必须出现在第一行(有意义的行,注释除外),并首先声明用户代理。
用户代理:
User-agent:指定允许哪些蜘蛛爬行。如果给定参数,则只能抓取指定的蜘蛛;例如,值为通配符“*”,表示允许所有蜘蛛爬行。喜欢:
用户代理:Googlebot
只允许谷歌蜘蛛爬行。
用户代理:baiduspider
只允许百度蜘蛛抓取。
用户代理: *
这意味着允许所有蜘蛛爬行,*是通配符,表示所有。
不允许:
这意味着蜘蛛被禁止爬行。以上面的robots文件为例。
禁止:/plus/ad_js.php
这是指禁止引擎蜘蛛抓取网站中plus目录下的ad_js.php文件
禁止:/包括
这是指禁止引擎蜘蛛爬取网站中的整个include目录,不等同于Disallow:/include/。
禁止:/包括/
这意味着引擎蜘蛛被禁止抓取网站中include目录下的目录,但是include目录下的文件蜘蛛仍然可以抓取。
禁止:/cgi-bin/*.htm
禁止访问/cgi-bin/目录下所有后缀为“.htm”的URL(包括子目录)。
不允许: /*?*
禁止访问 网站 中所有收录问号 (?) 的 URL
禁止:/.jpg$
禁止抓取网络上所有.jpg格式的图片
允许:
这就是许可的含义。
允许:/包括/
这里是include目录下允许爬取的目录
允许:/包括
这里是允许抓取收录整个目录
允许:.htm$
只允许访问带有“.htm”后缀的 URL。
允许:.gif$
允许抓取网页和 gif 格式的图像
网站地图:
网站地图告诉爬虫这个页面是一个网站地图
机器人文件的常见用途
示例 1. 禁止所有搜索引擎访问整个 网站。
用户代理: *
不允许: /
例如,2.禁止百度蜘蛛访问整个网站。
用户代理:baiduspider
不允许: /
示例 3. 允许所有搜索引擎访问(你也可以创建一个空的robots.txt文件或者不创建robots文件)
用户代理: *
允许:/
User-agent: 后面的 * 有特殊含义,代表“任何机器人”,因此“Disallow: /tmp/*”或“Disallow:*.gif”等记录不能出现在该文件中。
Robots Meta 标签拦截方法
robots.txt放在网站,文件级网络蜘蛛授权;而robots Meta标签放置在网页中,一般在某些网页需要单独设置时使用。两者的功能是一样的。
Meta robots标签必须放在中间,格式:
content中的值决定了允许爬取的类型,必须同时收录两个值:是否允许索引(index)和是否关注链接(follow,也可以理解为是否允许继续爬行)沿着网页中的超链接)。共有4个参数可选,形成4种组合:
index,follow:允许抓取此页面并允许跟踪链接。
index, nofollow:允许抓取此页面,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex、nofllow:禁止抓取本页,禁止关注本页链接。
上面的1和4还有另外一种写法:
index,follow 可以写成all,如:
noindex,nofollow 可以写成none,如:
需要注意的是,很多搜索引擎不支持robots Meta标签,只有少数搜索引擎可以根据给定的值进行识别和抓取。因此,尽量使用robots.txt文件来限制爬行。