在Yahoo Pipes中获取纯文本

时间:2009-10-22 16:09:21

标签: yahoo-pipes plaintext

我有一个Yahoo管道从Google组中获取Atom提要,我想对消息的全文进行一些处理(运行各种正则表达式来提取数据)。我可以使用这样的网址从Google获取纯文本的短信:

http://groups.google.com/group/(group_name)/msg/(message_id)?dmode=source&output=gplain

但是,我无法将其作为字符串值在Yahoo管道中获取。获取页面拒绝非HTML页面。使用html表的YQL似乎有效,并将纯文本包装在一个p元素中,我可以像这样提取其文本:

select * from html where url="..." and xpath="//p"

但是,如果消息文本包含html标记,则YQL将返回HTML子树而不是字符串。有没有办法将它展平回HTML源代码?

1 个答案:

答案 0 :(得分:1)

诀窍是删除“output = gplain”并从pre元素中获取内容。

select content from html 
where url="http://groups.google.com/group/haml/msg/0f78eda2f5ef802d?dmode=source" 
and xpath='//div[contains(@class,"maincontbox")]/pre'

我创建了一个包含Google Group和Message ID作为输入的管道来演示:

http://pipes.yahoo.com/pipes/pipe.info?_id=3d345e162405e7dbd47d73b95c21f102