前言:这似乎是一个非常初学者级的问题,可能是愚蠢或不合理的。这就是为什么我不需要一个确定的答案,只是一个提示,一个点,我可以从这开始。
我正在考虑脚本,这将允许我解析不同在线零售商的产品页面,例如亚马逊。以下信息将从产品页面中提取:
该算法的关键点在于,一旦实施,它对于任何零售商,任何产品页面都应该。所以它非常普遍。
哪种技术可以实现这样的算法?甚至可以编写这样的通用解析器吗?
答案 0 :(得分:1)
如果产品页面上的信息以结构化,机器可读的方式标记,例如使用schema.org microdata,您可以将页面HTML解析为DOM树,遍历树以找到微数据元素,并从中提取所需数据。
不幸的是,许多网站仍然没有使用这种结构化数据标记 - 它们只是以人类可读的形式呈现信息,而没有考虑机器解析。在这种情况下,您需要为每个站点自定义数据提取代码,以便它知道您想要的信息在页面上的位置。解析HTML然后使用DOM仍然是很好的第一步,但其余部分必须是特定于站点的(并且可能需要在站点更改其设计时进行更新)。
当然,您也可以尝试使用启发式方法来定位相关数据,例如,假设$
符号后面的数字可能价格。当然,这样的方法也可能偶尔会产生不正确的匹配(例如,误将" $ 10""立即订购并节省10美元!"价格)。您可以调整和优化您的启发式方法,以便更聪明地了解这些事情,但无论您获得多少好处,总会有一些您无法预料的新的和意外的案例。