XPath表达式

时间:2009-09-25 14:59:58

标签: xpath

我是XPath的新手。我有一个html的网页来源

http://london.craigslist.co.uk/com/1233708939.html 

现在我想从上面的页面中提取以下数据

  1. 完整日期
  2. 电子邮件 - 位于日期正下方
  3. 我还想在页面上找到“回复此帖子”按钮的存在

    http://sfbay.craigslist.org/sfc/w4w/1391399758.html
    

    任何人都可以帮我编写上述三个数据的三个XPath表达式。

3 个答案:

答案 0 :(得分:5)

你不需要自己写这些,甚至自己弄清楚。如果您使用Firebug插件,请转到页面,右键单击所需的元素,单击“Inspect element”,Firebug将在浏览器底部的查看器中弹出HTML。右键单击HTML查看器中的所需元素,然后单击“复制XPath”。

那就是说,你正在寻找的(#3)XPath表达式是:

/ HTML /体/格[4] /形式/按钮

......通过上述方法获得。

答案 1 :(得分:4)

我注意到DTD是第一个链接的HTML 4/01 Transitional而不是XHTML,因此无法保证这是一个有效的XML文档,并且XML解析器可能无法正确加载它。事实上,我看到几个未正确关闭的标签(即< hr>等)

我不知道第一个是第一个,第三个只是Alex回答,但第二个是/ html / body / a [0]。

答案 2 :(得分:1)

从你的第一页开始,这是不可能的,因为这不是xpath的工作方式。为了使xpath表达式选择“某事物”必须是节点(即元素)的东西 第二页相当简单,但为了做到这一点你需要一个“id”属性(或任何可以确保你的按钮是唯一的)。例如,如果您确定文本“回复此帖子”正确识别按钮,则只需执行以下操作 //button["Reply to this post"]