HTTP权威指南-9-10
2016-10-02第九章 Web机器人
爬虫及爬行方式
- 从哪儿开始: 根集
- 链接的提取以及相对链接的标准化
- 避免环路出现
- 循环与复制
⚠️ 如果爬虫不断地获取相同的页面时,并且爬虫与服务器连接良好,它就可能会阻止其他真实用户的访问,这种拒绝服务是可以作为法律诉讼理由的。
- 面包屑留下的痕迹;大规模Web爬虫对其访问地址进行管理时使用以下相关技术点:
- 树和散列表(加速URL查找)
- 有损的存在位图(减小空间)
- 检查点(将已访问URL列表存在硬盘上,防止机器人程序崩溃)
- 分类
- 别名与机器人环路
- 规范化URL
- 如果没有指定端口的话,就向主机名中添加 ‘80’
- 将所有转义符 %xx 都转换成等价字符
- 删除 # 标签
- 文件系统连接环路 ‘/’
- 动态虚拟Web空间
- 避免循环和重复
- 规范化URL
- 广度优先的爬行
- 节流
- 限制URL的大小
- URL/站点黑名单
- 模式检测
- 内容指纹
- 人工监视
机器人的HTTP
- 识别请求首部
- 虚拟主机,实现机器人要支持Host首部
- 条件请求
- 对响应的处理;需要识别比如状态码,实体等
- User-agent导向
行为不当的机器人
- 失控机器人
- 实效的URL
- 很长的错误URL
- 爱打听的机器人
- 动态网关访问
拒绝机器人访问
- 拒绝机器人访问标准; Dissallow/Allow
- Web站点和robots.txt文件
- User-agent:
- Dissallow
- Allow
- 缓存和robots.txt的过期
- HTML的robot-control元标签
搜索引擎
第十章 HTTP-NG 下一代系统
HTTP发展中存在的问题
- 复杂性
- 扩展性
- 性能
- 传输依赖性