提取xpath

时间:2009-06-07 12:01:05

标签: xpath

我想检索属性的xpath(来自零售商网站的产品的“品牌”)。

这样做的一种方法是使用xpather或xpath checker之类的插件来使用firefox,使用firefox打开网站并右键单击我感兴趣的所需属性。这没关系。但是我希望捕获许多属性的这些信息,并且右键单击每个属性可能很耗时。另外,我遇​​到的另一个问题是我可能感兴趣的属性将用于一个产品。其他属性可能适用于其他一些产品。所以,我必须去那个产品&然后再次手动完成。

是否有自动或编程方式从网站检索所需属性的xpath而不必手动执行此操作?

2 个答案:

答案 0 :(得分:1)

您必须注意并非所有网站都使用有效的XML,您可以使用xpath ...

那就是说,你应该查看一些HTML解析器,它们允许你在HTML上使用xpath,即使它不是有效的XML。

由于您没有指定您正在使用的技术 - 我建议使用.NET HTML Agility Pack,如果您需要其他人,请在此处搜索与此相关的问题。

答案 1 :(得分:0)

我用于此类事情的解决方案是写一个像这样的xpath:

//*[text()="Brand"]/following-sibling::*
//*[text()="Color"]/following-sibling::*
//*[text()="Size"]/following-sibling::*
//*[text()="Material"]/following-sibling::*

它的工作原理是找到包含所需文本的所有元素(标签),然后查看HTML中的下一个兄弟。如果没有特定的网址,我就无法继续提供帮助。

这是一个通用版本,您可以通过替换星号是标记类型来制作更具体的版本,并且您可以通过将兄弟之后的轴替换为其他内容来进行不同的导航。

我在import.io中使用xPaths来为这种事物制作API,这只是找到一个足以查找HTML的xPath的问题,无论它在哪里。在页面上,但具体到足以获得正确的数据。