网络爬虫 robots协议 robots.txt
网络爬虫
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要
组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,
不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为
复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取
的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述
过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定
的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析
结果还可能对以后的抓取过程给出反馈和指导。
爬虫问题
1)骚扰问题
2)法律风险
3)隐私泄露
Robots协议
robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,
也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问
一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会
按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站
上所有没有被口令保护的页面。
例如:京东的Robots.txt
User-agent: *
Disallow: /?*
Disallow: /pop/*.html
Disallow: /pinpai/*.html?*
User-agent: EtaoSpider
Disallow: /
User-agent: HuihuiSpider
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
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,该网站都是开放的。
Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个
值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开
头的URL是允许robot访问的。例如"Allow:/hibaidu"允许robot访
问/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一
个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配
使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会
根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
查看网站是否有robots协议的方法
直接在主域名URL上robots.txt
例如上面的京东 https://www.jd.com/robots.txt
网络爬虫 robots协议 robots.txt的更多相关文章
- [Python3网络爬虫开发实战] 3.1.4-分析Robots协议
利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...
- 爬虫协议robots
前面的话 Robots协议(也称为爬虫协议.机器人协议等)全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页 ...
- [python爬虫]Requests-BeautifulSoup-Re库方案--robots协议与Requests库实战
[根据北京理工大学嵩天老师“Python网络爬虫与信息提取”慕课课程编写 慕课链接:https://www.icourse163.org/learn/BIT-1001870001?tid=100223 ...
- 芝麻HTTP:分析Robots协议
利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...
- Robots协议(摘)
robots协议 Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓 ...
- Python网络爬虫入门篇
1. 预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...
- 【Python爬虫】01:网络爬虫--规则
Python网络爬虫与信息提取 目标:掌握定向网络数据爬取和网页解析的基本能力. the website is the API 课程分为以下部分: 1.requsets库(自动爬取HTML页面.自动网 ...
- Python网络爬虫(四)
关于Robots协议 Robots协议也称为爬虫协议,是网络爬虫排除标准(Robots Exclusion Protocol),用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取.因为我们如果无限 ...
- 初探爬虫 ——《python 3 网络爬虫开发实践》读书笔记
零.背景 之前在 node.js 下写过一些爬虫,去做自己的私人网站和工具,但一直没有稍微深入的了解,借着此次公司的新项目,体系的学习下. 本文内容主要侧重介绍爬虫的概念.玩法.策略.不同工具的列举和 ...
随机推荐
- SQL 2012中文乱码
MS SQL插入汉字的时候.常常会遇到部分汉字变成了乱码问号了, 所以在安装数据库或者在创建表的时候须要注意一下几点: 1.保存汉字的字段要用NVARCHAR.NCHAR.NTEXT等.插入的时候要用 ...
- Wordpress的安装 for mac
1.服务器环境要求 PHP 5.2.4或更新版本 MySQL 5.0或更新版本 Apache mod_rewrite模块(可选,用于支持“固定链接”和“站点网络”功能) 选择安装:XAMPP 2.XA ...
- 【CODEFORCES】 D. CGCDSSQ
D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- P3202 [HNOI2009]通往城堡之路 神仙题
这个题不是坑人吗...写个tarjan标签,然后拿这么个神仙题来搞...代码有点看不懂,有兴趣的可以去洛谷题解区看看,懒得想了. 题干: 题目描述 听说公主被关押在城堡里,彭大侠下定决心:不管一路上有 ...
- [模板]FWT
写起来和fft很像,这里放个板子. 代码: #include<iostream> #include<cstdio> #include<cmath> #include ...
- ref 和out的区别
在C#语言中,参数的传递有两种,一种是值传递,一种是引用传递.ref与out这两种方式都属于引用传递,只是他们的用法稍有不同.下面看几个例子 使用ref的例子 class test { static ...
- astgo常见问题(FAQ)知识库
Q:为什么我在astgo 的一些列表页面看不到右侧顶端的高级功能菜单?R:因为你没有先选择代理商,这些操作都是针对于某个代理商才可以操作的! Q:为什么我无法给astgo 的代理商充值?R:因为你登录 ...
- [Swift通天遁地]三、手势与图表-(2)监听手势事件自由拖动图像视图
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- day01_12/11/2016_Spring入门PPT
s1 s2 s3 s4 s5 s6 s7 s8 IOC1 IOC2 入门编写1 入门编写2 入门编写3 入门编写4---心得
- Jquery课堂上课了,第一节Jquery选择器$
Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict(); jQue ...