Vitasiiik Posted May 6, 2009 Report Share Posted May 6, 2009 Доброго времени суток! В рунете существует такая онлайн игра как Герои Войны и Денег http://www.heroeswm.ru/. В ней есть возможность создания кланов - сообществ игроков. 2 месяца назад моя девушка создала клан, а я на юкозе (на бесплатном хостинге) сделал сайтик этого клана http://federation-clan.clan.su/. За два месяца мы добились больших успехов, нас (соклановцев) стало более 100 человек. Наши конкуренты (старые кланы) на своих сайтах вывесили рейтинги своих соклановцев, полную статистику по своим персонажам, их характеристики из этой онлайн игры. На мои просьбы поделиться кодом увязки с сайтом онлайн игры все отвечают отказом (конкуренция всё-таки). Обращаюсь к вам с просьбой помочь в коде. Пример статистики конкурентов здесь http://www.ordenmira.ru/index.php?pid=156. Соклановцы меня замучили с просьбами о таком же чуде... Сам я только учусь веб-программированию... Если это очень сложно - пропустите этот топик, не упрекайте в тунеядстве, не говорите что такой труд стоит денег - я всё понимаю. Но если кто-нибудь решит помочь на пионерских началах буду очень рад и признателен. С уважением, юзер онлайн игрушек... Link to comment Share on other sites More sharing options...
Eugen.mgn Posted May 7, 2009 Report Share Posted May 7, 2009 Попробуй спросить на офицальном форуме игры Link to comment Share on other sites More sharing options...
Ф@РТОВЫЙ Posted May 7, 2009 Report Share Posted May 7, 2009 Я так понимаю, игра браузерная? Обычно в таких случаях статистика извлекается со страниц самой игры (страница инфы о персе и т.д.) путем парсинга (разбора на составляющие и выделения значимых частей) html кода данных страниц. Ваш хостинг должен предоставлять библиотеку curl или socket для php (на бесплатных в большинстве случаев отсутствует) иначе это технически не возможно. Насчет пионерских начал, тоже думаю вряд ли кто согласится... мне несколько раз заказывали написание парсера страниц, какого либо сайта, люди, которых я считаю давольно опытными программистами, и платили мне за это по 1,5-2 тыс руб Хотя работа не столько сложная, сколько нудная. Вот если решитесь писать сами насчет азов могу просвятить бесплатно, в данный момент, извеняюсь, но нет времени Link to comment Share on other sites More sharing options...
Vitasiiik Posted May 7, 2009 Author Report Share Posted May 7, 2009 На форуме уже спрашивал... Мне ответили, что нужно обращаться к тем, кто это уже сделал... От них отказ. Лорд Дмитрий: , я был бы рад вашей помощи! Я не хочу никого принуждать к нудной работе, просто дайте хотябы алгоритм действий. Я быстро учусь, тем более мне это интересно! Вообще реально за малые сроки освоить азы? Link to comment Share on other sites More sharing options...
Ф@РТОВЫЙ Posted May 8, 2009 Report Share Posted May 8, 2009 Vitasiiik: Во-первых, если Вы еще не знакомы, то придется охнакомится с регулярными выражениями, так как весь парсинг осуществляется спомощью них. Для этого можно ознакомится со следующими страницами документации: http://ru2.php.net/manual/ru/regexp.reference.php http://ru2.php.net/manual/ru/function.preg-match.php Во-вторых, придется изучить html код тех страниц, которые мы будем парсить. И желательно изучить несколько экзэмпляров, хотя все они наверняка строятся по одному шаблону, наша задача выявить именно то общее в этом шаблоне, по которому мы сможем искать наши данные. Чтобы было понятнее, рассмотрим пример. Допустим, мы хотим получить из страницы инфы о пользователе его уровень. Загрузим несколько персов себе и сохраним их инфу в виде html. Откроем их в текстовом редакторе (например в notepad++ там есть подсветка кода, что делает его более читабельным) Ищем нашу заветную цифру и окружающий ее код. Допустим мы нашли вот такие фрагменты кода: Для перса 3 уровня: <div id="level">3</div> Для перса 7 уровня: <div id="level">7</div> Для перса 15 уровня: <div id="level">15</div> Пусть в нашей игре будет не более 99 уровней, то есть искомые числа будут однозначными и двухзначными Первым делом убеждаемся, что <div id="level"> встречается в страницах только один раз и есть во всех страницах (лучше проверить 15-20 случайно выбраных страниц), если это не так, то придется взять больше кода для анализа Собственно ищем одно- или двухзначное число заключенное в данный тег. Пусть наша страница будет загружена целиком в переменную $html и передана некоторой функции парсеру как это сделать, читаем документацию по curl: http://ru2.php.net/manual/ru/book.curl.php Вот код функции: function parse_level($html){ @preg_match('/<div id="level">([0-9]{1,2})<\/div>/i', $html, &$m) or return false; return (int)$m[1];} Вот собственно и все, самое сложное - это проанализировать чужой код и составить из него регулярку. Удачи! Если что обращайтесь Link to comment Share on other sites More sharing options...
Varyag Posted May 8, 2009 Report Share Posted May 8, 2009 Лорд Дмитрий: А вы знакомы с PHP Simple HTML DOM Parser? Мне кажется, начинающему будет на порядок проще пропарсить страницу с ее помощью, чем разбираться в регулярных выражениях. Link to comment Share on other sites More sharing options...
Ф@РТОВЫЙ Posted May 10, 2009 Report Share Posted May 10, 2009 Varyag: Незнаком, и вообще являюсь противником различных фреймворков :1eye: А знание регулярных выражений в жизни php-программиста пригодятся Link to comment Share on other sites More sharing options...
Vitasiiik Posted May 10, 2009 Author Report Share Posted May 10, 2009 Огромное спасибо! Лорд Дмитрий: , я уже ознакомился с регулярными выражениями! Благодаря вашему первому ответу, где вы упомянули слово "парсинг" я полез в поисковик и узнал многое про этот термин... там и столкнулся с регулярными выражениями, перечитал массу статей и практически во всём разобрался. Очень удобная штука preg_match оказывается!!! И код очень простенький! Находим название переменной, отыскиваем её между определёнными выражениями и дело в шляпе!!! Юкоз не поддерживает пхп - не беда, сделаем ссылочку на страничку от хостинга поддерживающего пхп!!! А на самом деле мне очень приятно, что я попал на ваш форум и не услышал, что с меня 100$, что это очень трудно... Спасибо Вам, что подтвердили мои догадки с кодом! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now