[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсинг трансляций с др. сайта
Melvin
Здравствуйте, есть необходимость парсить xml данные со сторонних сайтов. Есть сервисы онлайн вещания и у них есть некие api, обращаясь к которым можно получить xml данные о тех трансляциях которые в данный момент онлайн.

Допустим запрос к странице api.own3d.tv/liveCheck.php?live_id=12345

вернет xml данные с информацией о том, запущена ли в данный момент трансляция с id=12345.
У меня в Mysql базе есть порядка 100 id таких трансляций, их всех необходимо проверять на статус, вышеописанным способом. Проблем в том, что 100 обращений к стороннему ресурсу в цикле отнимает очень много времени. Вопрос, как ускорить подобную проверку статусов трансляций? Если делать проверку с помощью ajax запросов, тоже в цикле, то страница будет загружена сразу, но список трансляций будет ведь все равно появляться медленно? Или я что-то не понимаю?



Спустя 4 минуты, 30 секунд (5.03.2012 - 22:08) inpost написал(а):
multi_curl попробуй. Сможешь паралельно обратиться сразу ко всем.

Спустя 18 часов, 30 минут, 15 секунд (6.03.2012 - 16:38) Melvin написал(а):
curl на сколько я понял нужно ставить на сервак. Я не могу там ничего менять, так как у меня виртуальный хостинг. Больше вариантов нет? Может я просто не так с api этих сервисов работаю? Вдруг там можно за раз проверить на статус список id .. кто нибудь работал со стримами вообще?

Спустя 26 минут, 11 секунд (6.03.2012 - 17:04) inpost написал(а):
curl работает практически везде.
phpinfo() напиши и убедись в этом.

Спустя 14 минут, 28 секунд (6.03.2012 - 17:18) Melvin написал(а):
Точно, спасибо большое, буду изучать технологию. Раньше не юзал.

Спустя 22 часа, 41 минута, 40 секунд (7.03.2012 - 16:00) Melvin написал(а):
Еще раз прошу помощи. Пробовал реализовать multi curl, но при большом количестве потоков ведет себя странно.. + памяти ест огромную тучу.

Появилась мысль запускать на хостинге скрипт, скажем раз в 5 минут и проверять какие стримы онлайн, какие нет, а уже для выдачи пользователям в браузере, использовать полученную инфу от этого скрипта. Плюс - быстро. Минус - не совсем актуальная информация(обновляется раз в пять минут).

Как сделано скажем тут http://goodgame.ru/allstreams2.php ? Мгновенно все парсится и выводится, при том что стримов огромное количество.. уже голову сломал..

Спустя 14 минут, 12 секунд (7.03.2012 - 16:14) killer8080 написал(а):
Цитата (Melvin @ 7.03.2012 - 15:00)
Пробовал реализовать multi curl, но при большом количестве потоков ведет себя странно.. + памяти ест огромную тучу.

а парсишь как?

Спустя 29 минут, 6 секунд (7.03.2012 - 16:43) inpost написал(а):
Melvin
вряд ли каждую секунду дёргается, можно сделать раз в 1 минуту и этого будет достаточно. Мне кажется, что именно 1 раз в минуту (две) и сделано на sc2tv. Потому что отключенные стримы не сразу уходят из списка, а через X времени.
Не забываем и про правила, которые заставляют пользователей отключать стрим через галочку в своей панели управления стримом на сайте.

Спустя 3 часа, 1 минута, 13 секунд (7.03.2012 - 19:45) Melvin написал(а):
Угу, ясно, то есть если я правильно понял, то на сервере должен лежать скрипт, который с помощью cron запускается раз в 5-10 мин и обновляет инфу о стримах и пишет результат в базу. А уже при каждом обращении к странице стримов, выдаем из базы результат, верно? + еще сделать для стримеров возможность принудительно включать и выключать свой стрим.. должно работать быстро я думаю...

Спустя 3 часа, 24 минуты, 15 секунд (7.03.2012 - 23:09) inpost написал(а):
да и да.
Если нужен будет прирост производительности, то заменить mysql на файловый кеш или мемкеш.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.