用于从网页中提取产品数据的通用算法

时间:2014-11-07 16:48:17

标签: algorithm data-extraction

前言:这似乎是一个非常初学者级的问题,可能是愚蠢或不合理的。这就是为什么我不需要一个确定的答案,只是一个提示,一个点,我可以从这开始。

我正在考虑脚本,这将允许我解析不同在线零售商的产品页面,例如亚马逊。以下信息将从产品页面中提取:

  • 产品图片
  • 可用性(库存/缺货)

该算法的关键点在于,一旦实施,它对于任何零售商,任何产品页面都应该所以它非常普遍。

哪种技术可以实现这样的算法?甚至可以编写这样的通用解析器吗?

1 个答案:

答案 0 :(得分:1)

如果产品页面上的信息以结构化,机器可读的方式标记,例如使用schema.org microdata,您可以将页面HTML解析为DOM树,遍历树以找到微数据元素,并从中提取所需数据。

不幸的是,许多网站仍然没有使用这种结构化数据标记 - 它们只是以人类可读的形式呈现信息,而没有考虑机器解析。在这种情况下,您需要为每个站点自定义数据提取代码,以便它知道您想要的信息在页面上的位置。解析HTML然后使用DOM仍然是很好的第一步,但其余部分必须是特定于站点的(并且可能需要在站点更改其设计时进行更新)。

当然,您也可以尝试使用启发式方法来定位相关数据,例如,假设$符号后面的数字可能价格。当然,这样的方法也可能偶尔会产生不正确的匹配(例如,误将" $ 10""立即订购并节省10美元!"价格)。您可以调整和优化您的启发式方法,以便更聪明地了解这些事情,但无论您获得多少好处,总会有一些您无法预料的新的和意外的案例。