Yahoo Pipe:如何解析子DIVs



对于具有多个DIV的页面,如何仅从包含有用文本的DIV中获取内容并避免其他用于广告等的DIV。

例如,像这样的页面结构:

<div id="articlecopy">
  <div class="advertising 1">Ads I do not want to fetch.</div>
  <p>Useful texts go here</p>
  <div class="advertising 2">Ads I do not want to fetch.</div>
  <div class="related_articles_list">I do not want to read related articles so parse this part too</div>
</div>

在这个虚构的例子中,我想摆脱广告的两个 DIV 和相关文章的 DIV。我想要的只是在

父 DIV 中

获取有用的内容。

管道能做到这一点吗?

谢谢。

使用 xpath 尝试 YQL 模块。 大致如下:

SELECT * from html where url="http://MyWebPageWithAds.com" and xpath='//div/p'

上面的查询将检索父

标记下的

标记内的 html 部分。 如果你的DIV有属性,你可以花哨地使用xpath。

例如,假设您有一个包含多个 DIV 的页面,但您想要的页面如下所示:

<div>
    <div>Stuff I don't want</div>
    <div class="main_content">Stuff I want to add to my feed</div>
    <div>Other stuff I don't want</div> 
</div>

您可以将上面的 YQL 字符串更改为:

SELECT * from html where url="http://MyWebPageWithAds.com" 
and xpath='//div/div[contains(@class,"main_content")]'

我自己最近才发现 YQL,并且对使用 xpath 相当陌生,但到目前为止它对我有用。

相关内容

  • 没有找到相关文章

最新更新