Парсер обсуждений вконтакте на phpbb
На сайте «В Контакте» (http://vkontakte.ru) есть понятия «группы»
(например, http://vkontakte.ru/groups.php?act=s&gid=912)
В группах есть понятия «обсуждения»
(например, http://vkontakte.ru/board.php?act=forum&id=912)
Для просмотра вы должны быть зарегистрированы «В Контакте».
Именно эти топики и должен интегрировать скрипт.
У скрипта нужны следующие функции:
Скрипт запрашивает:
- Данные для доступа к БД, куда надо вставить данные (по моему, это имя БД, имя пользователя БД, пароль пользователя БД, адрес mySQL сервера),
- Логин/пароль для "В Контекте" (логин – е-маил при регистрации),
- URL группы "В Контакте" (вида http://vkontakte.ru/groups.php?act=s&gid=912),
- Ссылка на ветку форума, куда надо вставить тему (для phpBB это вида http://myphpbb.com.ru/go/viewforum.php?f=3 ).
Все эти данные должны храниться в двух конфигурационных файлах.
В одном – данные для БД форума и логина в контакте.
В другом список вида:
http://vkontakte.ru/groups.php?act=s&gid=912 http://myphpbb.com.ru/go/viewforum.php?f=3
То есть соответствие группа контакта – ветка форума, разделенная пробелом.
Затем скрипт копирует темы, ответы, и профили пользователей из «В Контакте» на форум. Так же нужна возможность копировать не полностью раздел обсуждений (бывает что в группе создано под 1000 тем, нам в таких объемах не надо), но и иметь возможность копировать отдельные темы (желательно реализовать чтобы отдельные темы парсило с текстового файла).
Нужна следующая информация:
- Название темы,
- Автор темы (Берется ник из «В Контакте»). Именно ник, а не ФИО. Если ника нет, берется Имя. Если Ник неуникальный, к нему добавляется год рождения (из данных профиля «В Контакте»). Например, nick_1869. Если даты тоже нет, добавляем цифры (то есть nick1, nick2, nick3 и так далее),
- Дата публикации темы.
- Также к постам парсим дату его создания
Кроме тем и сообщений, еще надо заполнять профили на форуме.
Для этого из контакта по ссылке вида «http://vkontakte.ru/id45560» (например), мы забираем:
- Аватар
- ICQ
- Дату регистрации (дату первого поста пользователя)
- Откуда («Родной город» в «В Контакте»)
- Сайт
Вся информация желательная, но не обязательная. Есть – хорошо, нет - ничего.
Для каждого пользователя подсчитываем сообщения.
Для каждой темы – ответы.
Для каждой ветки форума – количество тем.
То есть все такие мелкие действия :)
Пользователей лучше различать по его id (например http://vkontakte.ru/id*) так как он является статическим и он не меняется в отличии от ников, имен, фамилий.
Необходимо предусмотреть режим обновления форумов. Происходит он следующим образом:
На каждом форуме создается ветка «Помойка», доступная только администратором.
В эту тему переносятся те темы, которые не нужно, чтобы были на форуме
При обновлении добавляются новые темы, новые сообщения в темы, создаются новые профили.
Но если тема есть в «Помойке» она не обновляется заново и не дублируется.
Скрипт не должен быть модулем форума, а должен быт отдельным файлом.
Также все напарсенные темы, сообщения, и созданные профили пользователей учитывались в статистике форума.
Вобщем цель скрипта – полная имитация живого форума, с целью
ТЗ – это не догма, а тема для размышлений.