【HTTP】WEB机器人

《HTTP权威指南》学习摘要

Web Robot的自活跃(self-animating)用户代理。

Web机器人是在不需要人工干预的情况下,自动进行一系列Web事务处理的软件程序,别名“爬虫“(crawler),”蜘蛛“(spider),”蠕虫“。

  1. 爬虫及爬行方式,Web法宠是一种机器人,他们会递归地对各种信息性Web站点进行遍历,获取第一个Web页面,然后获取那个页面指向的所有Web页面,然后好似那些页面所指向的所有Web页面,以此类推。递归地追踪这些Web连接的节气人会沿着HTML超链接创建的网络”爬行“,所以将其称为爬虫或蜘蛛。

    • 从哪里开始:根集
    • 链接的提取和相对链接的标准化
    • 避免环路的出现
    • 循环(loops)和复制(dups)
    • 面包屑留下的痕迹,由于URL的数量巨大,要使用复杂的数据结构以便快速判定那些URL是曾经访问过的。数据结构在访问速度和内存使用方面都应该是非常高效的。下面列出了大规模Web爬虫对其访问过的地址进行管理时使用的一些有用的技术。
      1. 树和散列表
      2. 有损的存在位图
      3. 检查点
      4. 分类,某些大型Web机器人会使用机器人”集群“,每个独立的计算机都是一个机器人,以汇接方式工作。为每个机器人分配一个特定的URL”片“,有其负责爬行。
    • 别名与机器人环路:如果两个URL看起来不一样,但实际指向的是同一资源,就称这两个URL互为”别名“。
    • 规范化URL,可以消除URL别名带来的重复空间
    • 文件系统连接环路
    • 动态虚拟Web空间
    • 避免循环和重复
      1. 规范化URL
      2. 广度优先的爬行:均匀的分配请求,而不是压在一个单一的服务器上。
      3. 节流
      4. 限制URL的大小
      5. URL/站点黑名单
      6. 模式检测
      7. 内容指纹
      8. 人工监视
  2. 机器人的HTTP。机器人和所有的其他HTTP客户端程序并没有什么区别,他们都要遵守HTTP规范中的规则。很多机器人都视图只实现请求他们所查找内容所需的最小HTTP集。  
    • 识别请求首部。在追踪错误爬虫的所有者,以及向服务提供机器人所能处理的内容类型时,请求首部很重要,所以,鼓励机器人实现者们使用如下内容:User-Agent,From,Accept,Refer。
    • 虚拟主机。机器人实现者要支持Host首部。
    • 条件请求。减少机器人所要获取内容的数量。条件HTTP请求,会对事件戳货实体标签进行比较。
    • 对响应的处理。状态码,实体。
    • User-Agent导向
  3. 行为不当的机器人:不守规矩的机器人会造成很多严重问题。这里列出了一些机器人可能会犯的错误。
    • 失控机器人,出现死循环,造成服务器大量的负载
    • 失效的URL
    • 很长的错误URL
    • 爱打听的机器人
    • 动态网关访问
  4. 拒绝机器人访问,在Web服务器的文档根目录中提供一个可选的、名为robts.txt的文件。
    • 拒绝机器人访问标准。没有正式的标准,都是非正式标准。
    • web站点和robots.txt文件
      • 获取robots.txt.机器人应该在From首部和User-Agent首部中传输标识信息,以帮助站点管理者对机器人的访问进行跟踪,并在站点管理者要查询,或投诉的机器人时间中提供一些联系信息。
      • 响应码,根据不同的响应码,机器人做出不同的行为。
      • robots.txt文件的格式。文件采用面向行的语法。有三种形式的行,空行,注释行和规则行。
        • User-Agent行,每个机器人记录都以一个或多个下列形式的User-Agent行开始(User-Agent:<robtot-name>或者User-Agent:*)。如果没有访问不受限。
        • Disallow和Allow行。紧跟在机器人排斥记录的User-Agent行之后。
        • Disallow/Allow前缀匹配。前缀匹配通常都能很好地工作,但有几种情况下它的表达力不够强。如果你希望无论使用什么路径前缀,都不允许爬行一些特别的子目录,那robots.txt是无能为力的。必须将子目录中的每条路劲都分别枚举出来。
        • 其他有关robots.txt的知识。机器人不识别的字段多忽略掉,中间不能断行,0.0版的拒绝机器人访问标准不支持Allow行。
        • 缓存和robots.txt的过期。机器人会周期性地获取robots.txt文件,并将得到的文件缓存起来。
        • 拒绝机器人访问的Perl代码.有几个公共的Perl库可以用来与robots.txt文件进行交互。CPAN公共Perl文档中的WWW::RobotsRules模块就是一个这样的例子。
        • HTML的robot-control元标签,eg <META NAME="ROBOTS" CONTENT=directive-list>。机器人的META指令。搜索引擎的META标签
  5. 机器人的规范 
  6. 搜索引擎
    1. 大格局。
    2. 现代搜索引擎的结构。构建一些名为“全文索引”的复杂本地数据库。
    3. 全文索引。就是一个数据库
    4. 发布查询请求。用户向Web搜索引擎网关发布一条请求时,会填写一个HTML表单,他的浏览器会用一个HTTP GET或POST请求将这个表单发送给网关。网关程序对搜索请求进行解析,并将Web UI查询转换成搜索全文索引所需要的表达式。
    5. 对结果进行排序,并提供查询结果。相关性排名(relevancy ranking)
    6. 欺诈(spoof)。
时间: 2024-11-13 01:16:04

【HTTP】WEB机器人的相关文章

Web 机器人

web机器人是能够在无需人类干预的情况下自动进行一系列Web事物处理的软件,很多机器人能够从额web站点逛到另一个web站点,获取内容,跟踪超链,并对他们找到的数据进行处理,根据这些机器人自动探查web站点的方式,我们将他们成为“爬虫”. 常见的机器人实例: 股票图形机器人每隔几分钟就会想股票市场的服务器发送http get,用于得到数据来构建股票价格趋势图. 比较购物机器人会从在线商店的目录中手机web页面,构建商品及其价格的数据库 爬虫以及爬行方式: web爬虫是一种机器人,他们会递归地对各

Web 结构组件

代理:位于客户端和服务器之间的 HTTP 中间实体 缓存:HTTP 的仓库,使常用页面的副本可以保存在离客户端更近的地方 网关:连接其它应用程序的特殊 Web 服务器 隧道:对 HTTP 通信报文进行盲转发的特殊代理 Agent 代理:发起自动 HTTP 请求的半智能 Web 客户端,如 Web 机器人.网络蜘蛛

atitit.http原理与概论attilax总结

1. 图解HTTP 作者:[日]上野宣 著1 2. HTTP权威指南(国内首本HTTP及其相关核心Web技术权威著作)1 3. TCP/IP详解(中文版) (共3册), 这套丛书还有 <TCP/IP详解 卷2:实现>,<TCP/IP详解 卷3:TCP事务协议.HTTP.NNTP和UNIX域协议>2 4. TCP/IP详解 卷2:实现3 5. <TCP_IP详解 卷3:TCP事务协议.HTTP.NNTP和UNIX域协议——计算机科学丛书>([美]史蒂文斯(Stevens,

HTTP权威指南读书笔记

1.8 web组件结构: 代理 :位于客户端和服务器之间的HTTP中间实体 缓存 :HTTP的仓库,使常用页面的副本可以保存在离客户端很近的地方 网关 :链接其他应用程序的特殊web服务器(如邮件服务) 隧道 :对HTTP通信报文进行盲转的特殊代理 Agent代理:发起自动HTTP请求的半智能web客户端 1.8.1 代理: 原理:代理存在与客户端与服务器之间,接受客户端的HTTP请求并且转发给服务器 1.8.2 缓存: 原理:web缓存是一种特殊的HTTP代理服务器,可以将经过代理传送的常用文

HTTP结构讲解——《HTTP权威指南》系列

HTTP结构 第二部分的5章主要介绍了HTTP服务器,代理,缓存,网关和机器人应用程序,这些都是Web系统架构的构造模块. Web服务器 第五章 Web服务器会对HTTP请求进行处理并提供响应.术语"web服务器"可以用来表示Web服务器的软件,也可以用来表示提供Web页面的特定设备或计算机. 实际的Web服务器会做些什么   建立连接----接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭 接收请求----从网络中读取一条HTTP请求报文 处理请求----对请求报文

33款可用来抓数据的开源爬虫软件工具

要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家. 爬虫,即网络爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化. 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件.聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主

《数据挖掘导论》 - 读书笔记(5) - 分类:基本概念、决策树与模型评估 [2016-8-21]

第4章 分类:基本概念.决策树与模型评估 分类任务就是确定对象属于哪个预定义的目标类.分类问题是一个普遍存在的问题,有许多不同的应用.例如:根据电子邮件的标题和内容检查出垃圾邮件,根据核磁共振扫描的结果区分肿瘤是恶性的还是良性的,根据星系的形状对它们进行分析. 本章介绍分类的基本概念,讨论诸如模型的过分拟合等关键问题,并提供评估和比较分类技术性能的方法.尽管本章主要关注一种称作决策树归纳的技术,但是本章讨论的大部分内容也适用于其他的分类技术. 4.1 预备知识 分类任务的输入数据是记录的集合.每

开源爬虫汇总表,83款 网络爬虫开源软件

世界上已经成型的爬虫软件多达上百种,本文对较为知名及常见的开源爬虫软件进行梳理,按开发语言进行汇总,如下表所示.虽然搜索引擎也有爬虫,但本次我汇总的只是爬虫软件,而非大型.复杂的搜索引擎,因为很多兄弟只是想爬取数据,而非运营一个搜索引擎. 开源爬虫汇总表 开发语言 软件名称 软件介绍 许可证 Java Arachnid 微型爬虫框架,含有一个小型HTML解析器 GPL crawlzilla 安装简易,拥有中文分词功能 Apache2 Ex-Crawler 由守护进程执行,使用数据库存储网页信息

读书《HTTP权威指南》

第1 章 HTTP 概述 1.1 HTTP--因特网的多媒体信使 1.2 Web 客户端和服务器 1.3 资源 1.3.1 媒体类型 MIME 类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间 由一条斜杠来分隔. ? HTML 格式的文本文档由text/html 类型来标记. ? 普通的ASCII 文本文档由text/plain 类型来标记. ? JPEG 版本的图片为image/jpeg 类型. ? GIF 格式的图片为image/gif 类型. ? Apple 的Quick