PJzhang:robots协议的实际场景
猫宁!!!
参考链接:
https://bbs.360.cn/thread-15062960-1-1.html
https://ziyuan.baidu.com/college/courseinfo?id=150
看到robots这个关键词,先了解一下它的定义,如下是百度百科介绍:
robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
展示一个robots.txt使用的例子:
https://cn.bing.com/robots.txt,这是必应搜索的robots.txt文件,节取其中一部分。
User-agent: msnbot-media
Disallow: /
Allow: /th?
User-agent: Twitterbot
Disallow:
User-agent: *
Disallow: /account/
Disallow: /amp/
Disallow: /bfp/search
Disallow: /bing-site-safety
Disallow: /blogs/search/
Disallow: /entities/search
Disallow: /fd/
Disallow: /history
Disallow: /hotels/search
Disallow: /images?
Disallow: /images/search?
Disallow: /images/search/?
Sitemap: http://cn.bing.com/dict/sitemap-index.xml
只有当网站运营者不想让一些网页被搜索引擎收录,才会采用robots.txt,否则表示默认全站都可以被搜索引擎爬取收录了。
robots.txt文件放于根目录,内容可包含多条记录,中间用空行分割,如果robots.txt中什么都没有,表示全站可以爬取。
User-agent: *,表示针对所有爬虫。
User-agent: Twitterbot,表示针对Twitterbot这一种爬虫。
Disallow: /bfp/search,表示爬虫不能访问以/bfp/search开头的所有url页面,例如/bfp/search/abc.html,/bfp/searchabc.html等等,当然直接不允许对方访问某一个特定的url也是可以的。
Allow: /bfp/search/vip,表示爬虫可以访问/bfp/search/vip开头的所有url页面。
Sitemap: http://cn.bing.com/dict/sitemap-index.xml,告知爬虫这个文件是站点地图
Allow和Disallow结合使用,灵活掌握爬虫所访问的页面内容,不至于导致一刀切的局面。
这里严格区分字母的大小写。
*,星号表示0个及以上字符。
$,美元符号表示结束符。
这两个都是通配符
禁止所有搜索引擎访问网站的任何目录。
User-agent: *
Disallow: /
允许所有的搜索引擎访问网站的任何目录
User-agent: *
Allow: /
禁止百度访问网站的任何目录
User-agent: Baiduspider
Disallow: /
仅允许百度访问网站的任何目录
User-agent: Baiduspider
Allow: /
禁止访问/abc/开头下的目录,但是其中的html后缀文件除外
User-agent: *
Disallow: /abc/
Allow:/abc/*.html$
禁止访问网站中的所有动态页面,注意字符全都是英文字符
User-agent: *
Disallow: /*?*
以上的都是一些基本的解释说明,可以通过查看知名站点的robots.txt文件,了解对方不想要让搜索引擎抓取的路径,对于渗透测试有时会有新的发现或启发。
http://www.dianping.com/robots.txt,能看出来大众点评不希望所有的爬虫爬取其中的7个目录,例如优惠券、图片、账户等等,但绝对禁止爱帮网(聚合本地生活信息)和口碑网(阿里巴巴旗下生活信息平台)这两家的爬虫爬取任何大众点评域名www.dianping.com上的东西。
全部内容
User-agent: *
Disallow: /coupon/
Disallow: /events/
Disallow: /thirdconnect/
Disallow: /member/
Disallow: /album/
Disallow: /dplab/
User-agent: www.aibang.com Disallow: /
User-agent: aibang.com Disallow: /
User-agent: aibang Disallow: /
User-agent: aibangspider Disallow: /
User-agent: aibang-spider Disallow: /
User-agent: aibangbot Disallow: /
User-agent: aibang-bot Disallow: /
User-agent: koubeispider Disallow: /
User-agent: koubei.com Disallow: /
认真解读一家站点的robots.txt,也许可以看到互联网江湖的一些刀光剑影的余晖。
PJzhang:robots协议的实际场景的更多相关文章
- 笔记整理--玩转robots协议
玩转robots协议 -- 其他 -- IT技术博客大学习 -- 共学习 共进步! - Google Chrome (2013/7/14 20:24:07) 玩转robots协议 2013年2月8日北 ...
- Robots协议
Robots协议 什么是robots? Robots文件:网站和搜索引擎之间的一个协议. 用来防止搜索引擎抓取那些我们不想被搜索引擎看到的隐私内容. Robots文件告诉蜘蛛什么是可以被查看的. ...
- 芝麻HTTP:分析Robots协议
利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...
- [python爬虫]Requests-BeautifulSoup-Re库方案--robots协议与Requests库实战
[根据北京理工大学嵩天老师“Python网络爬虫与信息提取”慕课课程编写 慕课链接:https://www.icourse163.org/learn/BIT-1001870001?tid=100223 ...
- 第8章 传输层(1)_TCP/UDP协议的应用场景
1. 传输层的两个协议 1.1 TCP和UDP协议的应用场景 (1)TCP协议:如果要传输的内容比较多,需要将发送的内容分成多个数据包发送.这就要求在传输层用TCP协议,在发送方和接收方建立连接,实现 ...
- 使用 urllib 分析 Robots 协议
(1) Robots Exclusion Protocol,网络爬虫排除标准,也称爬虫协议.机器人协议,用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取(2) Robots 协议以 robots ...
- Python 爬虫-Robots协议
2017-07-25 21:08:16 一.网络爬虫的规模 二.网络爬虫的限制 • 来源审查:判断User‐Agent进行限制 检查来访HTTP协议头的User‐Agent域,只响应浏览器或友好爬虫的 ...
- Robots协议(爬虫协议、机器人协议)
Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓 ...
- 爬虫基础 - Robots协议
Robots协议 指定一个robots.txt文件,告诉爬虫引擎怎么爬取 https://www.taobao.com/robots.txt User-agent: Baiduspider Allow ...
随机推荐
- webstrom编辑react语法报错解决
问题: 解决办法:1.把 JavaScript 的版本设置为 JSX Harmony. 2.把<script>type类型改为:text/jsx
- opencv中的子库
1 FLANN 近似最近邻库,NN就是nearest neighbor的缩写. 2 IlmImf Ilm是Industrial light & magic公司的缩写. Imf是image fo ...
- Java 获取当前日期和时间
原文地址:http://www.blogjava.net/parable-myth/archive/2013/01/17/394364.html 有三种方法: 方法一:用java.util.Date类 ...
- 剑指Offer:树的子结构【26】
剑指Offer:树的子结构[26] 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 分为两步: 第一步:在树A中找到和树B的根节点的值一 ...
- JAVA变量初始化赋值null
在Java中,null值表示引用不指向任何对象.运行过程中系统发现使用了这样一个引用时·可以立即停止进一步的访问,不会给系统带来任何危险. 1.如果是对象的field的话那么系统在初始化对象的时候会 ...
- KeyChain相关参数的说明
#pragma mark- 密钥类型 //密钥类型键 //CFTypeRef kSecClass // //值 //CFTypeRef kSecClassGenericPassword ...
- SystemV和BSD的区别
目前,Unix操作系统不管其内核如何,其操作风格上主要分为SystemV(目前一般采用其第4个版本SVR4)和BSD两种.其代表操作系统本别是Solaris和FreeBSD.当然,在SunOS4(So ...
- java 基于百度地图API GPS经纬度解析地址
首先这是百度地图api 的接口地址,基于接口的参数,不过多介绍,其中都提供相应的介绍: http://lbsyun.baidu.com/index.php?title=webapi/guide/web ...
- System.exit(0);和finish();,push原理
今天师姐问我安卓后台的问题,想起几年前做进制转换的时候特意研究了一下怎么才能「不驻留内存地退出」.虽然Android不推荐用户手动关闭进程,但是在那个内存捉襟见肘的年代,不得不考虑内存. 首先直接按b ...
- 洛谷 P4660 & bzoj 1168 [ Baltic OI 2008 ] 手套 —— 分析+单调栈
题目:https://www.luogu.org/record/show?rid=12702916 https://www.lydsy.com/JudgeOnline/problem.php?id=1 ...