我熟悉在 php 中抓取和使用 XPATH 来解析 DOM 以从页面中获取我想要的内容。我想听听一些关于如何以编程方式忽略页面上的页眉、页脚和侧边栏并仅提取主体内容的建议。
给出的情况是没有特定的目标,所以我不能简单地忽略特定的 id,比如 #header 和 #footer,因为每个页面的写法都略有不同。
我知道谷歌这样做,我知道这一定是可能的,我只是不知道从哪里开始。
谢谢!
最佳答案
没有确定的方法可以确定它,但您可以使用启发式方法获得合理的结果。一个建议:
从同一网站抓取两个或多个页面,然后从顶层开始逐 block 比较它们,深入几层,直到 block 足够相等。比较不会是 == 而是相似性指数,例如 similar_text
.
超过一定相似度百分比的 block 很可能是页眉、页脚或菜单。您将必须通过实验找出哪个阈值有用
关于php - 仅抓取网页的主要内容(忽略页眉、页脚和侧边栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643376/