如何获取代表Yahoo!的json对象?管

时间:2012-02-22 23:05:41

标签: json yahoo-pipes

似乎Yahoo管道使用JSON表示。我想下载这些JSON对象用于某些研究目的。通常,Yahoo管道在浏览器编辑器中通过这样的URL呈现:http://pipes.yahoo.com/pipes/pipe.edit?_id=XgRo96h13BGtJWvS8SvLAg,但是您无法将相应的JSON对象提供给此Yahoo管道。有谁知道如何获取代表Yahoo管道的JSON对象并以任何持久的形式存储它们?

4 个答案:

答案 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