在国内,网站管理者似乎对robots.txt并没有引起多大重视,应一些朋友之请求,今天想通过这篇文章来简单谈一下robots.txt的写作。
robots.txt基本介绍
robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。
当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。
另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
robots.txt写作语法
首先,我们来看一个robots.txt范例:http://www.seovip.cn/robots.txt
访问以上具体地址,我们可以看到robots.txt的具体内容如下:
# Robots.txt file from http://www.seovip.cn
# All robots will spider the domain
User-agent: *
Disallow:
以上文本表达的意思是允许所有的搜索机器人访问www.seovip.cn站点下的所有文件。
具体语法分析:其中#后面文字为说明信息;User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人;Disallow:后面为不允许访问的文件目录。
下面,我将列举一些robots.txt的具体用法:
允许所有的robot访问
User-agent: *
Disallow:
或者也可以建一个空文件 "/robots.txt" file
禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)
User-agent: *
Disallow: /01/
Disallow: /02/
Disallow: /03/
禁止某个搜索引擎的访问(下例中的BadBot)
User-agent: BadBot
Disallow: /
只允许某个搜索引擎的访问(下例中的Crawler)
User-agent: Crawler
Disallow:
User-agent: *
Disallow: /
另外,我觉得有必要进行拓展说明,对robots meta进行一些介绍:
Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
Robots META标签的写法:
Robots META标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。
INDEX 指令告诉搜索机器人抓取该页面;
FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。
这样,一共有四种组合:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
其中
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以写成<META NAME="ROBOTS" CONTENT="ALL">;
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以写成<META NAME="ROBOTS" CONTENT="NONE">
目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以限制GOOGLE是否保留网页快照。例如:
<META NAME="googlebot" CONTENT="index,follow,noarchive">
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。
分享到:
相关推荐
1. **Robots协议尊重**:通过`isRobotAllowed()`方法,爬虫会遵守每个网站的`robots.txt`文件中的规定,不会访问被禁止的页面。 2. **URL验证与标准化**:使用`verifyUrl()`和`removeWwwFromUrl()`方法确保URL的有效...
此外,对于网页抓取,还需要了解robots.txt文件,它定义了网站对爬虫的访问规则。尊重网站的robots.txt文件,可以避免被封IP或法律纠纷。 总之,获取网页源码是网络开发和数据分析的基础操作,通过不同的工具和方法...
4. **robots.txt**:网站的robots.txt文件指示搜索引擎爬虫不要抓取某些页面,也可能导致403错误。 5. **文件或目录权限**:服务器上的文件或目录权限设置不正确,阻止了访问。 解决此类问题的方法通常包括检查登录...
通常,网站上的数据抓取需遵循robots.txt文件的指引,尊重网站的抓取规则。 10. **存储与归档**:生成的单一文本文件对于个人阅读、研究或者文本分析非常方便。用户可以根据需求对书籍进行归档、搜索或进一步的文本...
10. **合规性与道德**:在进行网络爬虫时,必须遵守网站的robots.txt协议,尊重版权,不进行非法的数据获取,确保爬虫行为的合法性和道德性。 以上就是【猫眼-TOP.zip】项目中涉及的主要IT知识点,这个项目提供了一...
7. **最佳实践**:在进行网络爬虫时,应尊重网站的robots.txt文件,避免对服务器造成过大的压力,合理设置爬取频率。同时,注意处理可能出现的反爬策略,如验证码、IP封锁等。 8. **版权和道德问题**:爬取网页数据...
在【描述】中提到的“利用php实现,这是一个用php脚本语言写的小偷采集”,意味着这个压缩包可能包含了一...在遵守相关法律法规和网站robots.txt规则的前提下,正确使用phpQuery可以极大地提升网页抓取的效率和质量。
7. 网络爬虫伦理:遵循网站robots.txt协议,尊重版权,不滥用资源。 通过学习这个项目,可以提升Python编程能力,掌握网络爬虫技术,并了解如何对抓取的数据进行初步处理和分析。对于想要进入数据科学领域或者提升...
需要注意的是,进行此类操作时必须遵守相关法律法规,尊重网站的robots.txt协议,避免对服务器造成不必要的负担或侵犯他人权益。 在易语言中,实现这样的功能还需要关注错误处理和异常处理,确保程序在遇到网络问题...
8. **爬虫伦理与法律法规**:在进行网络爬虫时,要遵守相关法律法规,尊重网站的robots.txt文件,避免对目标网站造成过大负担,尊重用户隐私。 9. **学习进阶**:深入学习网络爬虫,还可以涉及JavaScript渲染页面的...
通常,爬虫项目会要求遵循网站的robots.txt协议,尊重版权,并控制爬取频率以避免对服务器造成过大的负担。 `report.md`和`report.pdf`很可能是项目报告,其中包含了学生们对爬虫实现的详细说明、技术选择的原因、...
1. 遵守robots.txt:尊重网站的爬虫规则,不爬取禁止抓取的页面。 2. 设置延时:为了避免频繁请求导致服务器压力过大,可设置延时或随机间隔。 3. 使用代理:为防止IP被封,可以使用代理IP轮换请求。 4. 法律合规:...
标题中的“豆瓣读书爬虫,保存到excel中”意味着这个项目是关于编写一个网络爬虫程序,该程序能够从豆瓣读书网站抓取数据,并将抓取的...此外,要注意遵守豆瓣的robots.txt文件规定,确保爬虫行为符合网站的使用政策。
Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 Heritrix是一个爬虫框架,其组织结构如图2.1所示,包含了整个组件和抓取流程:...
Python爬虫需要注意遵守网站的robots.txt协议,尊重网站的版权,不进行非法的商业用途,且应尽量减少对服务器的压力,避免因频繁请求导致IP被封禁。 综上所述,这个压缩包可能包含了一个完整的Python爬虫项目,用于...
【标题解析】 ...8. 网络爬虫伦理:理解并遵守robots.txt协议,尊重网站的爬虫策略。 通过这个项目,学习者可以掌握从数据抓取到分析再到可视化的全过程,提升在实际工作中处理大数据和分析就业市场的能力。
在实际项目中,开发者还需要考虑如何处理异常,优化性能,以及遵守网站的robots.txt协议,避免对目标服务器造成过大的负载。 总的来说,HtmlParser是一个强大的工具,它简化了HTML文档的处理,为网页抓取和格式转换...
资产目录包含所有前端内容:JavaScript,样式表,图像,字体,robots.txt,favicon.ico等监视此目录中的文件更改,并将所有内容输出到目录,而会将其以防止自动版本控制噪音。 Browserify/index.js 在连接非浏览器...