博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《http权威指南》阅读笔记(七)
阅读量:6918 次
发布时间:2019-06-27

本文共 765 字,大约阅读时间需要 2 分钟。

web机器人

要标示机器人 通过http User-Agent进行声明

原理:通过root路径->页面中的anchor 递归下去,基本上root页面就是一个网站的首页

web机器需要知道那些url已经爬过,由于url不规范,需要先规范化url,比如添加默认端口80,格式化url中的特殊字符用 %XX代替,去掉查询字符串中的#等等

 

web机器人爬去页面主要注意:

1 避免陷入环路,比如a包括b,b里面有包括a

2 避免被恶意网站陷入死循环,比如动态页面,每爬取一次,重新新生成的动态内容,新的动态页面继续生成动态页面,循环下去

3 url连接回路,比如http://www.test.com/index.html 里面有anchor test/index.html 而test/ 里面由包括了 test/又包括test/ 并且返回的同一个内容,url连接就无限的 /test/test/test/test循环下面  

 

如何避免上面的问题:

1 规范化rul,访问的url进行标记

2 url连接长度控制,到一定长度拒绝爬去,防止url连接回路

3 广度优先遍历

4 黑名单机制

5 对内容进行相似度检测

 

web机器人访问权限控制

网站根目录 防止 robot.txt 文件

格式

#注释

User-Agent: robot-name

DisAllow: /xxxx

Allow: /xxx

 

User-Agent: robot-name2

DisAllow: /xxxx

Allow: /xxx

 

可以在html head标签里面定义<meta name="" conent=""/>标签进行控制

常见的name有 robots、 key、 describtion 等

 

web机器人实现对内容进行缓存和索引,查询的时候查询的是索引数据库

转载地址:http://bhhcl.baihongyu.com/

你可能感兴趣的文章
vue 插件
查看>>
HTML表格的运用
查看>>
jstatd 启动报错解决:Could not create remote object
查看>>
MYSQL新特性secure_file_priv对读写文件的影响
查看>>
发布 Google Chrome 插件教程
查看>>
linux中如何让进程在后台运行
查看>>
react源码解析003 - 关于eslint
查看>>
nodejs-local-api
查看>>
规范开发工具
查看>>
Perfect Rectangle
查看>>
Linux下常见文件系统对比
查看>>
Kotlin,Java的下一代编程语言
查看>>
Nginx 学习书单整理
查看>>
那些年,前端学习之路的疑难杂症(三):数组和Date的一些梳理
查看>>
逃离方法牢笼
查看>>
Netflix混沌工程手册Part 2:混沌工程原则
查看>>
NPM采用Rust以消除性能瓶颈
查看>>
Oracle宣布提供新的Java支持价格体系
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
Codeweavers的丰田模式
查看>>