php抓取网页不全 js(Robots搜索机器人(蜘蛛)访问一个站点时的历史RobotsExclusion)
优采云 发布时间: 2022-03-14 14:02php抓取网页不全 js(Robots搜索机器人(蜘蛛)访问一个站点时的历史RobotsExclusion)
一、Robots.txt 协议
机器人协议,又称爬虫协议、机器人协议等,其全称是“Robots Exclusion Protocol”。网站 通过Robots协议告诉搜索引擎哪些页面可以爬取,哪些页面不能爬取。Robots还有两种用法,一种是告诉搜索引擎哪些页面不能爬取(其他的默认可以爬取);另一种是告诉搜索引擎哪些页面只能爬取(另一种默认不能爬取)。
搜索机器人(蜘蛛)访问网站时,首先会检查网站根目录下是否存在robots.txt。如果存在,则根据文件中的内容确定访问范围。使用链接爬行。
协议历史
机器人排除协议由 Martijn Koster 于 1994 年 2 月在 Nexor 工作于 www-talk 邮件列表时提出。该协议提出后,Koster 的服务器甚至遭到了对手的拒绝服务攻击。该协议很快成为事实上的标准,被大多数人接受。
如何编写文件:
用户代理:*
* 是所有搜索引擎类型的通配符
禁止:/admin/
这意味着禁止搜索引擎爬取admin目录的内容
不允许:*?*
这意味着禁止搜索引擎抓取收录 ?
站点地图:sitemap.xml
在这里,通过 Sitemap 指定一个固定的 网站 地图页面。目前支持此功能的搜索引擎公司包括 Google、Yahoo、Ask 和 MSN。而中国搜索引擎公司显然不在这个圈子里。这样做的好处是站长不需要使用每个搜索引擎的站长工具或类似的站长部件来提交自己的站点地图文件,搜索引擎的蜘蛛会抓取robots.txt文件并读取文件。站点地图路径,然后爬取链接的页面。
京东的Robots.txt。(时间:2015-11-25)
二、除了 Robots.txt
除了 Robots.txt,Robots Meta 还可用于向搜索引擎传输信息。让我们看一下下面的例子:
<METANAME="ROBOTS"CONTENT="索引,关注">
内容部分有四个选项:index、noindex、follow、nofollow,命令之间用“,”隔开。
有四种组合:
<METANAME="ROBOTS"CONTENT="索引,关注">
<METANAME="ROBOTS"CONTENT="NOINDEX,FOLLOW">
<METANAME="ROBOTS"CONTENT="INDEX,NOFOLLOW">
<METANAME="ROBOTS"CONTENT="NOINDEX,NOFOLLOW">
在:
<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW"> 可以写成 <METANAME="ROBOTS"CONTENT="ALL">;
<METANAME="ROBOTS"CONTENT="NOINDEX,NOFOLLOW"> 可以写成 <METANAME="ROBOTS"CONTENT="NONE">
目前看来,绝大多数搜索引擎机器人都遵守robots.txt的规则,而RobotsMETA标签目前支持的不多,但在逐渐增加。比如著名的搜索引擎 GOOGLE 就完全支持,而且 GOOGLE 还增加了一个命令“归档”,可以限制 GOOGLE 是否保留网页的快照。例如:
<METANAME="googlebot"CONTENT="index,follow,noarchive">
指在本网站上抓取页面并点击页面中的链接,但不在 GOOLGE 上保留页面快照。
三、使用Robots.txt需要注意的一些问题
1、每当用户尝试访问不存在的 URL 时,服务器都会记录 404 错误(找不到文件)。每当蜘蛛搜索不存在的 robots.txt 文件时,服务器也会记录 404 错误,因此您应该将 robots.txt 添加到 网站。
2、如果后台和前台在同一个域名下,不希望爬虫爬取后台程序,可以在Robots.txt中指定爬虫不允许爬虫爬取的目录. 但是有没有可能让一些恶意分子一下子知道后台目录呢?
3、国内常见搜索机器人名称
参考:
1、机器人协议
2、Robots的使用方法及其详解
3、详解Robots.txt学习方法
4、机器人排除标准
5、网络机器人页面
转载于: