从Edmunds网站提取特定数据需要什么XPATH?

时间:2016-05-11 10:26:03

标签: xpath extract import.io

我正在使用import.io软件从Edmunds中提取数据...示例页面http://www.edmunds.com/bugatti/veyron-164/2009/st-101194582/features-specs/

我几次通过电子邮件发送到support@import.io,但他们只帮我一次,说没有时间和资源来帮助解决有关个别项目的问题,而不是他们的软件本身。

我使用XPATH成功提取了技术规格,例如// td [contains(。," HORSEPOWER")] / span

<h3 id="safety_feat" class="safety-feat">Safety Features</h3>
<div class="hr thick"></div>
<table class="items only-values" data-selenium="safety">
<tr>
<td>
<ul class="items">
<li><p>4-wheel ABS</p></li>
</ul>
</td>

但我不知道如何提取介于&lt;之间的功能。 li>代码并不包含在具有特定标签但具有特定&lt; h3 / h4&gt;几行以上。 XPATH // li确实提取了单个列中的所有功能以及我不需要的其他数据。

请告诉我一个XPATH,它按个别类别,舒适度,娱乐,安全功能等提取功能。我需要为每个功能类别将功能放在一列中。

<span style="display: block; background-color:rgb(255,255,255);">
<span style="display: block;" class="clrtxt">COLOR NAME</span>

另一件可以为我的数据库添加奖励的是提取颜色名称和RGB值,这可能吗?

enum Number {
  case int (Int)
  case float (Float)
}

let integer = Number.int(10)
let float = Number.float(10.5)

if case let .int(i) = integer {
  print("integer is \(i)")
}
if case let .float(f) = float {
  print("float is \(f)")
}

3 个答案:

答案 0 :(得分:2)

我设法通过使用:

获取背景颜色值
  

// * [含有(@id,&#39;外部&#39)] /跨度[2] / @风格

它返回了样式中的所有内容,但您可以使用正则表达式来消除不需要的东西!

希望这有帮助

答案 1 :(得分:1)

要提取您可以尝试的所有类别的规范(在示例中是Front座位,如果您想让其他人只需更改'table [@ class ='items only-values']'array count

  

// div [@ id ='features-pod'] // table [@ class ='items only-values'] [1] / tbody / tr / td / ul [@ class ='items'] /立/ p

要提取颜色名称,您可以使用以下内容:

  

//跨度[@类= 'clrtxt']

我一直试图提取背景颜色值,但这对我来说是不可能的!

我只是在网站上使用Chrome中的XPATH选择器,稍微补上一点并在import.io上尝试...它通常有效!

答案 2 :(得分:0)

这是一个可能的XPath,例如,提取&#39;屋顶和玻璃&#39;功能:

//div[@class='feature-spec box']
/*[self::h3 or self::h4]
  [contains(.,'Roof and Glass')]
/following-sibling::table[1]
//li/p