工具:网页内容抽取器
优采云 发布时间: 2022-05-09 05:18工具:网页内容抽取器
又开始了新一轮的备勤!
我在硬盘里无目的溜达着,突然发现了18年写的一个小工具:“html内容抽取器”,啥时还写过这个啊,没印象了!当时的场景不记得了,也不记得为什么事写的了。
它的抽取过程没什么“技术含量”,界面上看也很简单,只是简单地作了个本地html的抽取,没有作在线url的抽取。
加载个页面,来抽取下,
原来是抽取“邮箱、网址”等我需要的部分。
利用“网页的筛选器+属性值”来组合抽取,
这个小工具写起来很简单,不足百行的代码量。但它背后的解析器工作量不小,有2000多行吧。
它的背后,是HTML解析器在工作。解析器工作就是将html标识解析为解析树。利用它,可以将网页层层分解,就象F12那样。
关于html解析器,可以参看这篇文章:《解析-HTML 解析器》
以下可以不看,完全是为了公众号要求的300字,见谅!
众所周知,HTML是结构化文档(Structured Document),由诸多标签(
等)嵌套形成的著名的文档对象模型(DOM, Document Object Model),是显而易见的树形多层次结构。如果带着这种思路看待HTML、编写HTML解析器,无疑将导致问题复杂化。不妨从另一视角俯视HTML文本,视其为一维线状结构:诸多单一节点的顺序排列。仔细审视任何一段HTML文本,以左右尖括号()为边界,会发现HTML文本被天然地分割为:一个标签(Tag),接一段普通文字,再一个标签,再一段普通文字……