Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
WoWHead Data parser
Представляю вам свой WoWHead Data parser, который я пишу уже довольно долго, когда только появляется свободное время.
Ссылка на репозиторий: https://github.com/Lordron/WoWHead-data-parser
Бинарники в аттаче (.NET 4.0 Client Profile)
Парсер поддерживает 4 вида парсинга:
- По одному Id
- По диапазону Id
- По списку Id
- По фильтру вовхеда (только некоторые парсеры)
Хочу обратить внимание, что список Id я получил с вовхеда, а не брал его из головы.
В первом выпадающем меню выбирается локализация и, соответственно, сервер.
Во втором выпадающем меню выбирается парсер
Single, Multiple, List, WoW Head Filter - вид парсера, я описывал выше.
(Если вы выбрали тип List, то в выпадающем меню в этой вкладке выбирайте ту строку, которая похожа на парсер. Т.е для парсера тренеров - trainer.welf, а для книжек - page.welf)
Программа поддерживает следующие парсеры
С версии 2.1 добавлен конфиг файл, в котором мы можете настроить вывод sql запросов
Welf format
WELF - придуманное мною расширение - Wowhead Entries List File
Ид страниц в нем идут в любом порядке. Ид отделяются запятыми без пробелов (1,3,15,535,123)
Пожалуйста тестируйте и отписывайтесь о том, что не исправно и чего не хватает. Очень жду ваших отзывов!
Changelog
2.0.1
-Добавлена поддержка Vendor парсера
-Исправлен редкий баг с Trainer парсером, когда в sql-е шли подряд 2 ';'
-Верхняя строка меню заменена на более красивую
-В выпадающем меню теперь отображаются не названия классов, а кастомные имена
-Мелкие улучшения
-Добавлена поддержка для чтения .db2 файлов, данные из которых могут понадобится в парсере (Vendor парсер уже их использует)
2.1.0
https://github.com/Lordron/WoWHead-d...469788276cda25
Теперь можно в конфиге выбрать:
a) тип запроса. Имеются апдейт, реплейс, инсерт игноре.
b) пропуск пустые полей. Т.е если стоит true, то при построении запроса если значение null or empty, то апдейта на это поле не будет.
c) запрос для очистки. Т.е если стоит true, то перед каждым блоком replace \ insert ignore будет писаться запрос на удаление данных по ключу
Пример
UPDATE `creature_template` SET `npcflag` = `npcflag` | '48', `trainer_type` = '0' WHERE `entry` = '39206';
DELETE FROM `npc_trainer` WHERE `entry` = '39206';
INSERT IGNORE INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqlevel`, `reqSkill`, `reqSkillValue`) VALUES
('39206', '5143', '60', '3', '237', '0'),
('39206', '2136', '142', '5', '8', '0');
+ все что я писал до этого, а именно парсер локалей нас и квестов, куча фиксов, парсер extendedCost-ов, консоль и многое другое
Проверяем все и отписываем о найденых багах. Также жду еще предложения и пожелания
Алсо новые бинарники в аттаче.
Парсер собран в DEBUG режиме для лучшей отловки крашей. Будут краши -выкладывайте и пишите как вы его получили, чтобы мне было легче отловить его
2.3.0
-Оптимизация даунлоадера. Скорость парсинга страниц очень сильно увеличивал. Раз наверное в 30.
-Оптимизация парсеров
-Переход на использование библиотеки для чтения дб файлов от LordJZ
-Поддержка old.wowhead.com
-Поддержка item durability parser
-Парсинг страниц сразу при скачивании, в связи с чем программа при большом кол-ве страниц не так сильно кушает память
-Выгрузка данных из памяти после парсинга
-Добавлена поддержка добавлений данных в уже имеющийся файл
-Добавлена поддержка пропускать header insert\replace запросов (то, что идет перед VALUES в скобках)
-Исправлено некоторые ошибок в работе парсера
Бинарники для .NET Client Profile 4.0 Release x86
2.3.1
-Обновление библиотеки Newtonsoft.Json.dll, что даст множество улучшений
-Локализация приложений
-Сохранение последнего использованного парсера и локаля
-Исправлено 2 краша
-Добавлена About окошко
-Исправлены найденные баги
-Небольшая оптимизация
Последний раз редактировалось Lordronn; 24.05.2012 в 19:06.
|