Мультиязычный парсер для xml от bigfishgames
Sunday, February 15th, 2009Ранее я публиковал код парсера для xml фида от Bigfishgames. Сейчас я выкладываю обновленную версию скрипта. Кто не в курсе, то парсер написан на php + mysql.
Из обновлений:
- теперь тянет английские, французские, немецкие и испанские игры под windows, а так же мас игры для английского
- выложено все одним архивом, чтобы было удобней использовать. В прошлый раз я код выложил прямо в посте, что было не совсем удобно, так как все спецсимволы были преобразованы вордпрессом в сущности
- также в архиве выложил модуль по работе с sql, которым сам пользуюсь. Кому то может пригодиться.
- так же в архиве дампы структур необходимых таблиц для mysql
Описание парсера
- Скрипт читает xml с сервера бигфиша, разбирает его и отправляет в специальную таблицу на вашем mysql сервере. Для каждого типа фида своя таблица. Далее с этой таблицей поступаем, как хотим. Логично ее использовать как источник для добавления игр на свой сайт.
- При парсинге автоматически меняется ссылка на скачку игры с сервера bfg. Поясню немного. По умолчанию в бигфише ссылки на скачку нет, вместо этого есть ссылка на страницу, которая должна открываться во фрейме. На этой странице есть какой то текст и кнопка скачать игру.
Для того чтобы получить прямую ссылку на файл игры нужно заменить в ссылке на страницу игры от бигфиша слово index на download. В скрипте такая замена производится, и в таблицу пишем ссылку на скачку игры. - Управление языком производиться через параметры методом GET по ссылкам
bfgparser.php?type=pc&lang=en английские windows игры
bfgparser.php?type=pc&lang=de немецкие windows игры
bfgparser.php?type=pc&lang=fr французские windows игры
bfgparser.php?type=pc&lang=es испанские windows игры
bfgparser.php?type=mac&lang=en - английские mac игры
Установка
- Перепишите файлы bfgparser.php , sql.php на сервер
- В свою базу данных mysql импортируем таблицы (en_bigfish, de_bigfish, es_bigfish, fr_bigfish, mac_bigfish). Дампы этих таблиц в архиве.
- В фале sql.php прописать данные вашего мускульного сервера: сервер, логин, пароль, название базы. В самом верху скрипта увидите куда что прописать.
- В файле bfgparser.php в переменной $myBFGuser записать ваш логин с бигфише (Важно!)
- Вызвать скрипт с нужными параметрами (см. п.3 описания)
Расширить скрипт под другие варианты (например, под немецкие мак игры) очень просто. Нужно хоть немного разбираться в php.
Этот скрипт не разбирает xml с онлайн играми, так как там немного иная структура фида и таблицы. При желании можете дописать и это, но если кому то это понадобиться и разбираться лень, то могу дать и отдельный скрипт и под этот вариант.