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

Ранее я публиковал код парсера для 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 с онлайн играми, так как там немного иная структура фида и таблицы. При желании можете дописать и это, но если кому то это понадобиться и разбираться лень, то могу дать и отдельный скрипт и под этот вариант.

Tags: , ,

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

  1. botanik Says:

    в php не силен, можно на примере как в фале sql.php прописать данные сервера: сервер, логин, пароль, название базы
    $DB_Handler=mysql_pconnect(’сервер’,'пользователь’,'пароль’);
    mysql_select_db(’название базы’,$DB_Handler);
    так?
    работает ли на денвере?

  2. admin Says:

    да, так
    на денвере я не проверял, но должно работать
    в php придется прокачиваться, так как это всего лишь один кусок из мозайки вашего будущего сайта

  3. botanik Says:

    я для wordpress пока вот этим пользуюсь плагином
    _http://wordpress.org/extend/plugins/bigfishgames-syndicate/
    но не знаю как переделать чтоб автоматом в рубрики добавлял

    а на денвере при попытке импорта в таблицу вываливается ошибка
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
    Ответ MySQL:

    #1231 - Variable ‘character_set_client’ can’t be set to the value of ‘NULL’

    а при запуске выдает Fatal error: Call to undefined function curl_init() in … www\bfgparser.php on line 179

  4. admin Says:

    ошибка наверное из за того, что я экспортировал таблицы через mysql front, который и навставлял свои комментарии. При импорте ты используешь phpmyadmin , который считает эти комментарии за ошибки. Удали все комментарии в запросе (они маркированы значком /* ). На всяких случай щас сам удалю все эти комменты из дампа в архиве.

  5. botanik Says:

    привет! с праздником тебя!
    вопрос: а как выводить деньги с бигфиша?

  6. admin Says:

    привет, с бигфиша я вывожу деньги ваером в фин сервис epayservice оттуда на карту epassport . А дальше с картой в любой банкомат. Но снимать лучше баксы, так как рублями сконвертится по невыгодному курсу Визы. Можно найти обменники, где можно поменять с меньшими потерями.

  7. Guest Says:

    А как насчет доменов и хостинга? Регистрировать у российских регистраторов можно?

  8. Tuzembobel Says:

    отличный блог!

    тоже установил свой сайт bigfishgames - не в курсе как к нему прикрутить google analytics? заранее спасибо!

    кстати, если какой способ сделать обмен линками на их сайте?

    удачи!

  9. admin Says:

    Поставить код аналитикса нужно в файлах page.html page_play.html перед тегом Эти файлы находятся в папке templates/{темплейт, который вы используете} У меня это templates/default

    Способ сделать страницу обмена ссылками конечно есть: нужно разобраться, как работает их движок, и допрограммировать нужные фитчи. Но ихмо разбираться в чужом коде, это морока, поэтому я стараюсь все писать сам. В своем хозяйстве гораздо лучше проводить всякие достройки.

  10. Tuzembobel Says:

    в футере же есть место, которое можно даже в админке поменять. в общем, я готов.

    спасибо за аналитикс - завтра установлю!

    удачи!

  11. fish Says:

    Здравствуйте, Админ. Вы хоть скажите, как вы примерно хоть поднимали сайт в выдаче гугла?

  12. MurkaS Says:

    Зарегистрировалась по Вашей ссылке на бигфише.
    Загрузила Ваш парсер на апач, в ошибку вывалился :(

    Fatal error: Call to undefined function curl_init() in Z:\home\bfg.ru\www\bfgparser.php on line 179

    Загрузила на сервер и тут не айс
    Warning: Invalid argument supplied for foreach() in /home/murkas/www/game.triru.ru/html/bfgparser.php on line 64

    Не подскажете, что за зверь такой?
    А то у меня знания php хромают на две ноги.

  13. Tuzembobel Says:

    кстати, а если способ с помощью этого xml “наполнить” wordpress блог?

  14. admin Says:

    поднимать сайт нужно с помощь поисковой оптимизации, в инете полно инфы на эту тему. Главный совет - добывайте линки!

    по поводу вордпресса
    http://wordpress.org/extend/plugins/bigfishgames-syndicate/

  15. admin Says:

    Fatal error: Call to undefined function curl_init() in Z:\home\bfg.ru\www\bfgparser.php on line 179

    курл не работает на сервере, это уже вопросы к хостеру

    а пхп нужно изучать ибо это скрипт - всего лишь нужный кусок, который много где можно применить, но не более чем кусок кода

  16. Никита Says:

    Как использовать этот плагин. Установил его на ворд пресс, а ума ему не дам. Что там делать нужно? По всему инету не одной инфы по нему нет.
    http://wordpress.org/extend/plugins/bigfishgames-syndicate/

  17. Mike Says:

    Привет,

    Тоже интересно, можно ли с помощью этого xml наполнить Joomla?

Leave a Reply