我有两个网站,现在我手头有数据,我想用这些数据进行分析
我有两个产品名称(品牌 + 产品名称)我只想提取品牌名称
http://www.thehut.com/jeans-clothing/men/clothing/brave-soul-men-s-cardiff-jeans-denim/10741907.html
在上面的网站中,产品名称是
Brave Soul Men's Swansea Jeans - Denim
品牌名称是
Brave Soul
所以我只想
Brave Soul
亚马逊网站链接
http://www.amazon.in/gp/product/B00L8WT2UI
同样在上面的网站中,产品名称是
Apple iPhone 5c (White, 8GB)
品牌名称是
Apple
所以我想要输出
Brave Soul
Apple
最佳答案
您试图获取的信息实际上并不存在。
如果您采用两个字符串,它们都可能有任意数量的空格,并用空格将它们连接在一起,则不再可能明确地分辨出哪个空格连接了两个字符串,哪些空格是字符串的一部分。
所以,你有几个选择:
首先,每个产品中没有那么多空格,所以你可以尝试所有的可能性:品牌 Brave
和产品 Soul Men's Swansea Jeans - Denim
,然后是品牌 Brave Soul
和产品 Men's Swansea Jeans - Denim
,然后是品牌 Brave Soul Men's
和产品 Swansea Jeans - Denim
,依此类推其他 3 种可能性.
其次,如果您可以从其他地方抓取所有品牌名称的列表并将它们存储在 set
(或数据库表或其他任何内容)中,您可以在向亚马逊发送相对较慢的 Web 请求中尝试所有可能性之前预先过滤所有可能性。例如,如果您有所有品牌的列表,只需检查 Brave
、 Brave Soul
、 Brave Soul Men's
、 Brave Soul Men's Swansea
等中哪些是实际品牌,然后只测试它们。
同时,这仍然不会是完美的,因为几乎可以肯定存在模棱两可的情况。例如,有一个品牌 Apple
,还有一个品牌 Apple Records
,那么当您尝试拆分 Apple Records Master Collection
时会发生什么?您有两种有效的可能性,而不仅仅是一种。你所能做的就是设计你的代码以某种方式处理它(并单元测试你这样做是否正确)。
关于python - 如何从产品名称中提取品牌,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30047569/