|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
L2db.ru Icon grabber
Предистория
Писал я биржу для своего сервера Lineage... писал, писал.. и вот встала передо мной задача, показать юзерам иконки предметов, которые они хотят купить/продать. Самому скринить 20'000+ иконок из игры - не то что некогда - впадлу. Толковой базы в приемлемом формате я не нашёл. И тогда у меня возникла идея - распарсить иконки с сайта l2db.ru Процесс написания Что мне было нужно? В начале, понять, как получается строка адреса. А строка вышла вида Код:
http://old.l2db.ru/item.php?id=9449 Код HTML:
1. Скачать с сервера страницу /item.php?id=ITEM_ID, где ITEM_ID - число от 1 до, допустим, 20000. 2. Определить, есть ли на ней иконка (предметы с некоторыми ID не существуют) 3. Скачать эту иконку, и сохранить куда-нибудь. По мере тестирования, обнаружилось, что есть предметы, у которых иконка есть, но в базе её нету. Тогда, всё это дело выдавало "Error 404", и сваливалось. А прога должна висеть всю ночь, и работать без вмешательства... После некоторых модификаций, алгоритм выглядел так: 1. Получить адрес страницы вида "http://old.l2db.ru/item.php?id=N" 2. Проверить, есть ли страница на сервере 3. Если есть, скачать её, распарсить, и получить ссылку на картинку, если таковая на странице присутствует. 4. Проверить наличие картинки на сервере 5. Если она там есть - скачать и сохранить её. Простейший парсер написан, готовый (исходники) в архиве. Пока я писал этот текст, с учётом моего 5-МБитного канала, прога выкачала 1300 картинок. Парсер достаточно просто может быть переделан под любой сайт, было бы желание... Наслаждайтесь. P.S. Данный пост не является рекламой Lineage, L2db.ru и других материалов. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#2
|
||||
|
||||
а импортировать из ресурсов игры не пробывал?
Arrrgh |
#3
|
||||
|
||||
Из ресурсов вытащить невозможно, ибо там они хранятся в таком виде, что по именно ID к ним не подлезть вообще. Если интересно, поищи инфо по теме "Lineage icon.utx extract"
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#4
|
||||
|
||||
И сразу - версия "2.0"
Поняв, что предыдущая версия, хоть и не сразу, но таки вылетает - я решил отловить все возможные моменты, более того, сделать автоперезапуск загрузки последней иконки. Ещё, перевёл программу со старой версии сайта на новую, более полную... Так же, добавил проверку, скачивалась ли картинка с заданным ID, если да - то пропустить. И, наконец, теперь прога всё-таки реагирует на нажатие крестика, а не крутится до тех пор, пока всё не сольёт. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 05.06.2010 в 01:50. |