3

我对 import.io 和堆栈溢出完全陌生,请善待我。

我正在尝试抓取一家销售珠宝的在线商店的产品详细信息页面,并在页面上找到这种功能列表:

特征

性别 男性

技术风格 石英

材质 不锈钢

等等

是否可以训练爬虫动态提取粗体文本作为列名,而不是粗体文本作为列值?即列“性别”具有值“男性”等。假设在其他产品详细信息页面上,功能可能不以“性别”开头

谢谢你的帮助!

4

2 回答 2

2

我没有尝试过,但我认为这些会起作用:

  1. 通过使用 xpaths 选择所有粗体文本和具有相应值的另一列来训练一列。
  2. 将其全部训练为一行,以便始终选择所有特征。
于 2015-07-06T08:32:01.787 回答
0

这是完全可能的:)

  1. 你做了一个 col 并给它起名字 - Gender
  2. 然后单击或突出显示您想要的数据 - 男性

如果您觉得它不起作用,您可以继续前进,并使用 xpath。

如何:

为此,您单击列名称旁边的数据类型,在下图中,您可以在右侧的左侧窗格中看到显示“文本”的粉红色文本。

在此处输入图像描述

然后,当您看到“显示高级设置”选项时,您应该单击该选项。

在此处输入图像描述

当你在那里时,你可以添加一个“xpath Override”并将它放在那里。

//*[text()="Gender"]/following-sibling::*

这会“准确地”告诉 import.io 数据基于您可以放入其中的一组规则的位置。

在此处输入图像描述

这篇文章会有一些帮助:http: //support.import.io/knowledgebase/articles/368731-webinar-5-tips-and-tricks

这个会在页面上找到所有提到性别这个词的内容,然后在 HTML 中查看它旁边的内容并将其放入你的 col。

于 2015-07-09T16:41:23.740 回答