《http权威指南》阅读笔记(七)
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机器人实现对内容进行缓存和索引,查询的时候查询的是索引数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架