德国最高法院出版an RSS feed of all its decisions。遗憾的是,此RSS源中的项目不是直接链接到决策的PDF,而是链接到iFrame中包含PDF的网页。
网页都是以并行方式构建的。例如,在a random RSS feed item's linked web page中,源代码中的相对链接将如下所示:
<iframe border='0' src='document.py?Gericht=bgh&Art=en&Datum=Aktuell&nr=66132&Frame=4&.pdf' width='744px' height='100%'>Leider kann Ihr Browser keine eingebetteten Frames darstellen. Klicken Sie <a href='document.py?Gericht=bgh&Art=en&Datum=Aktuell&nr=66132&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&Art=en&Datum=Aktuell&nr=66132&Frame=4&.pdf”。
我的想法是使用Yahoo Pipes循环遍历RSS提要的所有项目,按照项目的链接,查看网页的源代码并在<iframe border='0' src='
和下一个{'
之间提取字符串。 1}},将绝对文件夹路径粘贴在相对结果的前面,然后将其重新分配给项目的链接。我的悲惨尝试是here。基本上,我不知道在XPath模块中输入什么。
答案 0 :(得分:1)
我有个坏消息。我担心这是不可能的。
在这种情况下的解决方案是创建两个管道:
低级管道:
iframe
属性,然后返回结果更高级别的管道:
这可能会奏效。不幸的是,除此之外,该网站拒绝Yahoo Pipes:它在尝试获取该页面时收到“Forbidden 403”错误。
所以这不能直接与Yahoo Pipes一起使用。另一种方法是,如果您可以设置代理服务器,它可以转发请求,以便德国网站无法知道它们来自Yahoo Pipes。
顺便说一句,这与我无法基于IMDB(互联网电影数据库)创建自定义订阅源的原因相同。他们拒绝来自Yahoo Pipes的所有请求。