php - 仅抓取网页的主要内容(忽略页眉、页脚和侧边栏)

标签 php xpath screen-scraping

我熟悉在 php 中抓取和使用 XPATH 来解析 DOM 以从页面中获取我想要的内容。我想听听一些关于如何以编程方式忽略页面上的页眉、页脚和侧边栏并仅提取主体内容的建议。

给出的情况是没有特定的目标,所以我不能简单地忽略特定的 id,比如 #header 和 #footer,因为每个页面的写法都略有不同。

我知道谷歌这样做,我知道这一定是可能的,我只是不知道从哪里开始。

谢谢!

最佳答案

没有确定的方法可以确定它,但您可以使用启发式方法获得合理的结果。一个建议:

从同一网站抓取两个或多个页面,然后从顶层开始逐 block 比较它们,深入几层,直到 block 足够相等。比较不会是 == 而是相似性指数,例如 similar_text . 超过一定相似度百分比的 block 很可能是页眉、页脚或菜单。您将必须通过实验找出哪个阈值有用

关于php - 仅抓取网页的主要内容(忽略页眉、页脚和侧边栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643376/

相关文章:

xml - 在nifi中使用EvaluateXpath

ruby-on-rails - 抓取包含文本 nokogiri xpath 的元素

php - 将表单数据传递给 Controller

php - 合并数据并加入两个表之间的特定列

javascript - 如何从 selenium-java 中的 javascript 弹出日历中选择日期

xml - 选择在XSLT中逗号分隔的特定字符串

c# - 在一个网站中抓取所有网页的最快方法

html - 使用 Ruby 中的 Nokogiri 抓取特定标题

php - 如何将现有表映射到 laravel 中的模型

javascript - 使用javascript重新加载php页面