似乎Yahoo管道使用JSON表示。我想下载这些JSON对象用于某些研究目的。通常,Yahoo管道在浏览器编辑器中通过这样的URL呈现:http://pipes.yahoo.com/pipes/pipe.edit?_id=XgRo96h13BGtJWvS8SvLAg,但是您无法将相应的JSON对象提供给此Yahoo管道。有谁知道如何获取代表Yahoo管道的JSON对象并以任何持久的形式存储它们?
答案 0 :(得分:1)
可以使用以下格式的URL来获取Yahoo Pipe的JSON描述:
http://pipes.yahoo.com/pipes/pipe.info?_out=json&_id=PIPE_ID
pipe2py python库演示了如何获取管道的JSON描述并将其“编译”为可在您自己的服务器上运行的Python等效项。
帖子Exporting Yahoo Pipe Definitions, Compiling Them to Python, and Running Them in Scraperwiki描述了如何使用Scraperwiki环境中的pipe2py在Scraperwiki上使用直接从Yahoo Pipes导入的管道定义来编译和执行管道,或者从Yahoo Pipes导出然后在本地存储在Scraperwiki数据库表中
答案 1 :(得分:0)
当我在浏览器中加载该页面时,我可以看到它发出了一个ajax请求: http://pipes.yahoo.com/pipes/ajax.pipe.load?id=XgRo96h13BGtJWvS8SvLAg&_out=json&modinfo=true&rnd=7560&.crumb=MjvGjpzhPLl
这是你的对象,但我不确定我是否在回答你如何“得到它”的问题。如果你需要通过一个程序,你需要一个插入管道并提取该URL的脚本。
答案 2 :(得分:0)
快速的方法是使用HTTP分析器,但不是自动化的。这是使用HttpFox(我使用v0.8.9)为Firefox获取对象的过程。在分析仪运行的情况下,加载管道的编辑页面,例如您链接的管道:
http://pipes.yahoo.com/pipes/pipe.edit?_id=XgRo96h13BGtJWvS8SvLAg
使用以以下内容开头的网址查看请求:
http://pipes.yahoo.com/pipes/ajax.pipe.load?id= ....
接下来,浏览请求的内容(HttpFox中有“内容”标签)。这是表示管道结构的JSON对象。
答案 3 :(得分:0)
使用pipe.run?[你的管道ID在这里]& _render = json而不是pipe.edit
所以在你的情况下得到json它将是 - http://pipes.yahoo.com/pipes/pipe.run?_id=XgRo96h13BGtJWvS8SvLAg&_render=json
我想你实现客户端的方式取决于你喜欢写什么/你需要什么其他功能。
您也可以反过来使用Web服务服务模块将数据发布到可以提取json并将其持久保存到数据库的脚本中。你可以查看json.org。