Posts Tagged ‘xml’

Мультиязычный парсер для xml от bigfishgames

Sunday, February 15th, 2009

Ранее я публиковал код парсера для xml фида от Bigfishgames. Сейчас я выкладываю обновленную версию скрипта. Кто не в курсе, то парсер написан на php + mysql.
Из обновлений:

  • теперь тянет английские, французские, немецкие и испанские игры под windows, а так же мас игры для английского
  • выложено все одним архивом, чтобы было удобней использовать. В прошлый раз я код выложил прямо в посте, что было не совсем удобно, так как все спецсимволы были преобразованы вордпрессом в сущности
  • также в архиве выложил модуль по работе с sql, которым сам пользуюсь. Кому то может пригодиться.
  • так же в архиве дампы структур необходимых таблиц для mysql

Описание парсера

  1. Скрипт читает xml с сервера бигфиша, разбирает его и отправляет в специальную таблицу на вашем mysql сервере. Для каждого типа фида своя таблица. Далее с этой таблицей поступаем, как хотим. Логично ее использовать как источник для добавления игр на свой сайт.
  2. При парсинге автоматически меняется ссылка на скачку игры с сервера bfg. Поясню немного. По умолчанию в бигфише ссылки на скачку нет, вместо этого есть ссылка на страницу, которая должна открываться во фрейме. На этой странице есть какой то текст и кнопка скачать игру.bfg_download.jpgДля того чтобы получить прямую ссылку на файл игры нужно заменить в ссылке на страницу игры от бигфиша слово index на download. В скрипте такая замена производится, и в таблицу пишем ссылку на скачку игры.
  3. Управление языком производиться через параметры методом 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 игры

Установка

  1. Перепишите файлы bfgparser.php , sql.php на сервер
  2. В свою базу данных mysql импортируем таблицы (en_bigfish, de_bigfish, es_bigfish, fr_bigfish, mac_bigfish). Дампы этих таблиц в архиве.
  3. В фале sql.php прописать данные вашего мускульного сервера: сервер, логин, пароль, название базы. В самом верху скрипта увидите куда что прописать.
  4. В файле bfgparser.php в переменной $myBFGuser записать ваш логин с бигфише (Важно!)
  5. Вызвать скрипт с нужными параметрами (см. п.3 описания)

Расширить скрипт под другие варианты (например, под немецкие мак игры) очень просто. Нужно хоть немного разбираться в php.

Этот скрипт не разбирает xml с онлайн играми, так как там немного иная структура фида и таблицы. При желании можете дописать и это, но если кому то это понадобиться и разбираться лень, то могу дать и отдельный скрипт и под этот вариант.