有标准的方法,比如DOM
可以选择性地解析HTML页面,但我想知道爬虫(从小到大的)如何检测要分析的主要文本在哪里?
主要文本,将被用于捕捉其关键词,与菜单、侧边栏、页脚等混合在一起。爬虫如何知道跳过来自菜单和侧边栏的关键词?
我正在开发一个小型PHP项目,用于从各种HTML页面中捕获关键词,但我不知道如何避免从侧边内容中捕获关键词。有人能描述或至少给我一个提示如何区分HTML页面中的主要内容和其他内容吗?
有标准的方法,比如DOM
可以选择性地解析HTML页面,但我想知道爬虫(从小到大的)如何检测要分析的主要文本在哪里?
主要文本,将被用于捕捉其关键词,与菜单、侧边栏、页脚等混合在一起。爬虫如何知道跳过来自菜单和侧边栏的关键词?
我正在开发一个小型PHP项目,用于从各种HTML页面中捕获关键词,但我不知道如何避免从侧边内容中捕获关键词。有人能描述或至少给我一个提示如何区分HTML页面中的主要内容和其他内容吗?
如果内容是文本性的,您可以假设页面的主要内容在单词密度相对较高的位置。
这意味着与搜索引擎相关的页面的主要内容--页面的主要内容在dom元素内部,大多数为div,其中包含文字格式标签,例如p,em,b等等,数量较高或超过阈值。
我将从以下逻辑开始
获取网页中使用的所有标记。
我将记录由仅包含文字和格式标记(如p、em、b、li、ul和anchor标记)组成的dom元素。
我会留下仅包含锚点标记的div,并假定它们是用于导航目的。
现在,在所有这些标记中选择数字高于特定阈值的dom元素。
此阈值因网站而异,您可以将其视为特定url结构的所有页面中具有最高文字数的div的平均值。
该算法必须在其过程中学习。