Как я могу получить объект json, который представляет Yahoo! труба - PullRequest
1 голос
/ 23 февраля 2012

Кажется, что каналы Yahoo представлены с помощью JSON.Я хочу загрузить эти объекты JSON для исследовательских целей.Обычно канал Yahoo отображается в редакторе браузера через URL-адрес, подобный следующему: http://pipes.yahoo.com/pipes/pipe.edit?_id=XgRo96h13BGtJWvS8SvLAg,, но вы не можете получить соответствующий объект JSON для этого канала Yahoo.Кто-нибудь знает, как получить объекты JSON, представляющие каналы Yahoo, и сохранить их в любой постоянной форме?

Ответы [ 4 ]

1 голос
/ 12 апреля 2012

Возможно получить JSON-описание Yahoo Pipe, используя URL-адрес формы:

http://pipes.yahoo.com/pipes/pipe.info?_out=json&_id=PIPE_ID

Библиотека Python pipe2py демонстрирует, как получить описание JSON канала и "скомпилировать" его в эквивалент Python, который можно запустить на вашем собственном сервере.

Пост Экспорт определений труб Yahoo, их компиляция в Python и запуск их в Scraperwiki описывает, как можно использовать pipe2py в среде Scraperwiki для компиляции и выполнения каналов в Scraperwiki с использованием определений каналов, импортированных непосредственно из Yahoo Pipes, или экспортированные из Yahoo Pipes, а затем сохраненные локально в таблице базы данных Scraperwiki.

0 голосов
/ 30 июля 2012

Используйте pipe.run?[your pipe id здесь] & _ render = json, а не pipe.edit

Таким образом, в вашем случае, чтобы получить json, это будет - http://pipes.yahoo.com/pipes/pipe.run?_id=XgRo96h13BGtJWvS8SvLAg&_render=json

Я предполагаю, что реализация клиента зависит от того, что вам нравится писать / какие другие функции вам нужны.

Вы также можете сделать это наоборот и использовать модуль веб-службы для отправки данных на сервер.скрипт, который может извлечь JSON и сохранить его в базе данных.Вы можете проверить json.org .

0 голосов
/ 03 марта 2012

Быстрый способ, хотя и не автоматизированный, - это использовать анализатор HTTP.Вот процесс получения объекта с использованием HttpFox (я использую v0.8.9) для Firefox.При работающем анализаторе загрузите страницу редактирования канала, например ту, которую вы связали:

http://pipes.yahoo.com/pipes/pipe.edit?_id=XgRo96h13BGtJWvS8SvLAg

Просмотрите запрос с URL-адресом, начинающимся с:

http://pipes.yahoo.com/pipes/ajax.pipe.load?id=....

Далее изучите содержимое запроса (в HttpFox есть вкладка «Содержимое»).Это объект JSON, представляющий структуру канала.

0 голосов
/ 25 февраля 2012

Когда я загружаю эту страницу в браузере, я вижу, что она делает запрос ajax для: http://pipes.yahoo.com/pipes/ajax.pipe.load?id=XgRo96h13BGtJWvS8SvLAg&_out=json&modinfo=true&rnd=7560&.crumb=MjvGjpzhPLl

Это ваш объект, но я не уверен, что отвечаю на ваш вопрос о"возьми".Если вам нужно получить его через программу, вам понадобится скрипт, который извлекается из каналов и извлекает этот URL.

...