【问题标题】:What is Valid Xpath for link extract by div class name?按 div 类名提取链接的有效 Xpath 是什么?
【发布时间】:2016-10-14 10:45:45
【问题描述】:

按 div 类名提取链接的有效 Xpath 是什么?

这里是html代码:

<div class="poster">
<a href="/title/tt2091935/mediaviewer/rm4278707200?ref_=tt_ov_i"> <img alt="Mr. Right Poster" title="Mr. Right Poster" src="http://ia.media-imdb.com/images/M/MV5BOTcxNjUyOTMwOV5BMl5BanBnXkFtZTgwMzUxMDk4NzE@._V1_UX182_CR0,0,182,268_AL_.jpg" itemprop="image">
</a>    </div>

我想知道确切的 Xpath,就好像我找到了 href 链接一样。 我尝试使用 //a/@href[@class='poster'] 但它不起作用

【问题讨论】:

  • 类在 div 上,而不是锚点上。
  • 是的。我想要
    的链接
  • 是的,这就是为什么您将其用作div 的标准,而不是a@href

标签: xpath web-scraping


【解决方案1】:

&lt;div&gt; 包含 &lt;a&gt;,因此您可以使用它进行导航:

//div[@class='poster']/a/@href

请记住,"poster" 类是在 &lt;div&gt; 上定义的,而不是在 &lt;a&gt; 上定义的,因此您需要在此处应用谓词。

  • //div 返回所有 &lt;div&gt; 元素
  • [@class='poster'] 是一个按类过滤的谓词
  • /a 返回作为 &lt;div&gt;s 的子元素的所有 &lt;a&gt; 元素
  • /@href 给了我们想要的属性

根据您使用的系统,您可能需要将整个表达式包装在 text() 中,以便返回属性数据而不是 DOM 节点。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签