使用 Yahoo Pipes 从 RSS 提要项的链接页面中提取元素,将结果转换为 RSS 提要



德国最高法院发布其所有裁决的RSS提要。不幸的是,这个RSS提要中的项目不是直接链接到决策的PDF,而是链接到PDF包含在iFrame中的网页。

网页都是以并行的方式构建的。例如,在一个随机的RSS提要项目的链接网页中,源代码中的相对链接将如下所示:

<iframe border='0' src='document.py?Gericht=bgh&amp;Art=en&amp;Datum=Aktuell&amp;nr=66132&amp;Frame=4&.pdf' width='744px' height='100%'>Leider kann Ihr Browser keine eingebetteten Frames darstellen. Klicken Sie <a href='document.py?Gericht=bgh&amp;Art=en&amp;Datum=Aktuell&amp;nr=66132&amp;Frame=4&.pdf'>hier</a>, um das gewünschte Dokument zu erhalten.</iframe>

链接都是相对于文件夹的

http://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/

我想将这个RSS提要转换为RSS提要,其中每个项目的链接都是直接指向PDF的链接,所以在我的示例中,RSS提要项目的链接应该变成"http://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/document.py?Gericht=bgh&艺术=en&Datum=Aktuell&nr=66132&帧=4&。pdf".

我的想法是使用Yahoo Pipes循环浏览RSS提要的所有项目,遵循项目的链接,查看网页的源代码并提取<iframe border='0' src='和下一个'之间的字符串,将绝对文件夹路径粘贴在相对结果前面,然后将其重新分配给项目的链接。我的可悲尝试就在这里。基本上,我不知道在XPath模块中输入什么。

我有个坏消息要告诉你。恐怕这是不可能的。

这种情况下的解决方案是创建两个管道:

  1. 低层管道:

    • 接收URL输入,其值如下:http://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/document.py?Gericht=bgh&艺术=en&az=IX%20ZR%204/12&编号=66132
    • 使用XPath获取页面模块获取URL
    • 希望提取iframe属性,并作为结果返回
  2. 更高级别的管道:

    • 使用获取源获取您的原始URL
    • 循环遍历提要项,在每次迭代中使用提要项的URL字段调用低级管道,并将结果分配给一个属性
    • 根据新分配的属性构造URL

这可能会奏效。除此之外,不幸的是,这个网站拒绝了雅虎管道:它在试图获取该页面时收到了一个"Forbidden 403"错误。

所以这是不能直接与雅虎管道工作。另一种选择是,如果你可以设置一个代理服务器,它可以中继请求,这样德国网站就不会知道它们来自雅虎管道。

顺便说一句,这和我不能基于IMDB(互联网电影数据库)创建自定义提要的原因是一样的。他们拒绝所有来自雅虎管道的请求。

相关内容

  • 没有找到相关文章

最新更新