Можно ли проанализировать страницу профиля Google+ (Google Plus)? - PullRequest
4 голосов
/ 06 июля 2011

Если вы просматриваете источник страницы профиля Google+, она выглядит довольно сложной.Кажется, большая часть данных хранится в огромных JSON-подобных объектах.Тем не менее, они не кажутся действительно JSON, так как они не распознаются, когда я пытаюсь их декодировать.Я надеюсь, что формат будет более понятным для других людей здесь.Как вы будете разбирать его?Кажется, это было бы довольно тривиально, если бы вы знали, с чего начать.

Вот пример профиля, например: http://plus.google.com/104560124403688998123

Ответы [ 4 ]

6 голосов
/ 13 июля 2011

Вот PHP API, над которым я работаю. Он может загружать и анализировать данные для страницы профиля и связей с людьми.

https://github.com/jmstriegel/php.googleplusapi

Часть JSON немного искажена. Чтобы сгенерировать допустимый JSON, вы должны удалить первые 5 символов, которые предотвращают атаки XSRF, а затем добавить все нулевые значения, которые были удалены. Вот код, специфичный для обработки странных ответов Google Plus JSON:

https://github.com/jmstriegel/php.googleplusapi/blob/master/lib/GooglePlus/GoogleUtil.php

Позвоните в GoogleUtil :: FetchGoogleJSON ($ url), и вы получите гигантский массив, из которого вы можете извлекать данные. Используя это, должно быть тривиально создать прокси-сервис для преобразования содержимого в действительный json (p) для использования в ваших собственных приложениях.

1 голос
/ 14 декабря 2011

Спасибо Джейсону за отличный класс php, который считывает страницу профиля в массив.

Я использовал этот класс в качестве базы, а затем проанализировал его на основе кода Python Рассела Битти из исходного appspotПриложение подачи RSS.

Код здесь

Несколько замечаний:

  1. Я использую это для объединения каналов G + и WP, поэтому пишу сообщенияв промежуточный массив ($ items).
  2. У меня есть соглашение о создании псевдо-заголовка в сообщениях Google Plus путем добавления строки и добавления двух новых строк перед написанием сообщения.Функция getTitle удаляет это как лучше отформатированный заголовок на моем сайте, а getSummary создает остальную часть поста с дублированием заголовка.
1 голос
/ 06 июля 2011

У меня пока нет доступа к Google+, поэтому я просто отвечу на общий вопрос - как анализировать JSON.

JSON - это просто JavaScript, поэтому его анализ так же прост, как и оценкасценарий.Для этого используйте функцию JavaScript eval().

var obj = eval('{"JSON":"goes here"}');

Другой вариант - использовать консольный инструмент.У популярных современных браузеров почти все они есть.В частности, я рекомендую Firebug для Firefox.

Используя Firefox, войдите в Google+, а затем откройте консоль Firebug.Вы можете использовать консольную команду dir() для создания просматриваемого представления данных.Пример:

console.dir(eval('{"JSON":"goes here"}'));

Извините, я не могу более подробно рассказать о том, как получить указатель на JSON Google +, в частности;без доступа к сервису это самое лучшее, что я могу сделать слепым.Удачи!

0 голосов
/ 06 июля 2011

Он состоит из нескольких частей: объекта, описывающего ваши изображения Picasa, одного, описывающего поля в вашем профиле, другого, описывающего ваших друзей.

Большинство длинных номеров - это внутренние идентификаторы людей, сообщений и фотографий. Например, мой идентификатор 105249724614922381234. Кроме этого, он может быть проанализирован, если вам нужно.

...