在抓取产品详细信息页面时动态分配列?

时间:2015-07-02 13:03:19

标签: web-crawler import.io

我对import.io和堆栈溢出是全新的,请善待我。

我试图抓取销售珠宝的在线商店的产品详情页面,并在页面上找到此类功能列表:

功能

性别    男性

技术风格     石英

材料     不锈钢

是否可以训练抓取工具动态提取粗体文本作为列名称而非粗体文本作为列值? 即专栏"性别"有价值" men"等。假设在其他产品详细信息页面上,这些功能可能不会以"性别"

开头

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我没试过,但我认为这些可行:

  1. 通过选择所有粗体文本来训练一列,使用xpaths选择具有相应值的另一列。
  2. 将其全部训练为一行,以便始终选择所有功能。

答案 1 :(得分:0)

完全有可能:)

  1. 你做了一个col并给它起了名字 - 性别
  2. 然后点击或突出显示您想要的数据 - 男士
  3. 如果你觉得它不起作用,你可以先进,然后使用xpath。

    如何:

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

    enter image description here

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

    enter image description here

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

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

    告诉import.io“确切”数据基于您可以放在那里的一组规则。

    enter image description here

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

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