抓取后识别产品,比价

identify product after web crawling, price comparison

我目前正在开发一个价格比较网站,我为它抓取了一些 e-commerce 网站并从它们的 HTML 页面中提取了一些数据,例如价格、标题、元数据等。我在现在我需要两个来确定从不同网站抓取的两个产品是否实际上相同,并为它们分配一个通用标签。
例如,假设网站 1 的产品标题为以下字符串:
"智能手机三星 Galaxy S6 4​​G 32GB"
站点 2 将此字符串作为同一产品的标题:
"三星 Galaxy S6 白色"

如何确定这两种产品是否实际上是同一产品,我想在我的网站上将其标记为 "Samsung Galaxy S6"? 我考虑过使用一些机器学习技术,例如 classification 或 clustering。然而,classification 可能需要大量已经格式化好的产品标签(加上经常更新)来充当可能的 classes,例如class“Samsung Galaxy S6”,有这样的东西吗?还有如此大量的 classes 它可能不可行。

我正在使用 Apache Nutch 进行抓取,并使用 Solr 进行索引和搜索。如果有任何针对这些的特定库或工具,那将非常有帮助,但我的问题不是专门针对这些的,我会很乐意阅读任何建议。

谢谢

我在我的项目中做了类似的事情,我们用他们的 ID 标记人名,所以基本上同一个人可以将他们的名字列为全名或首字母,或者只列出名字等,然后我们标记它到相同的 ID。

因此,对于您的情况,这基本上需要为您的产品构建倒排索引,然后扫描产品名称的标题字段并将它们标记为特定的产品 ID。这样所有三星 Galaxy S6 都映射到同一产品。

这不需要执行任何学习,您只需要有数据库来从中提取所有独特的产品,并随着产品数据库的变化不断更新索引。

所有这些都可以通过为 solr 编写更新处理器在索引时完成。

实施有点复杂,无法将其全部放在这里,所以我只是概述了可以帮助您解决问题的基本思路。