ЛЕНТА БЛОГА  ГЛАВНОЕ  ЗЕРКАЛА БЛОГА

воскресенье, 11 декабря 2016 г.

Обновил парсер. Немного "кухни"

Провёл, можно сказать, чрезвычайное обновление парсера. Сделал то, что давно планировал, но откладывал из-за внезапной необходимости обустраивать новую площадку после обновления старой ( на форуме XBOX ).

Дальше читать только тем, кому интересна "кухня" парсера ))

А именно : перешёл на сканирование по новому списку игр на сайте Microsoft. Точнее, теперь сканирование идёт и по старому, и по новому списку.

Напомню : летом серьёзно обновился магазин игр, при этом кардинально поменялись и карточки игр ( эта часть в парсере реализована сразу же, т.к. старый формат карточек просто перестал работать ), и список игр. 

При этом старый список продолжает работать, хотя найти его не так просто : все ссылки с сайта на него убиты, попасть туда можно только по прямой ссылке, если она у вас сохранилась. Надо сказать, что старый список мне нравится намного больше. "Во-первых, это красиво" )). Есть нормальное деление игры/дополнения/демо, есть человеческая сортировка от новых к старым или наоборот. 

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

Даже старый список не обеспечивал 100% охват магазина, т.к. выдача ограничивалась 50 страницами по 20 позиций, итого - 1000 позиций за раз. Можно было просканировать отдельно самые новые позиции и самые старые, что давало уже 2000, и это полностью перекрывало список игр, но не дополнений, для них между старыми и новыми списками был зазор в несколько месяцев 2014 года. Я его заполнял как мог, в итоге всё равно говорить о наличие в моей базе 100% всех дополнений не могу. Тем не менее, таким образом я вытаскиваю из старой базы около 4000 записей при каждом сканировании, при этом в базе парсера почти 6000 уникальных позиций, оставшиеся 2000 "добивались" специальным проходом.

В новом списке всё плохо, максимум, что удалось из неё вытащить - 1960 записей. Да, есть отдельный список новых игр ( но только игр ), но ведь цены часто меняют и для старых... Так что хорошо, что я успел "заполнить" базу парсера, без этого было бы сложно.

Итак, сейчас сканирование идёт в следующем порядке :

* По старому списку игр :
- игры, самые новые
- игры, самые старые
- демо ( список маленький )
- дополнения, самые новые
- дополнения, самые старые
Далее я могу подключить дополнительные проходы по старому списку, но это случается редко

* По новому списку игр :
- скоро в продаже
- демо
- предварительные версии
- новые игры
- список того самого "извращённого" поиска 

* По списку парсера - те позиции, которые есть в базе парсера, но не встретились в старом и новом списке ( около 2000 позиций ). Самый долгий этап, занимает около часа из двух часов общего времени сканирования

* Неизвестные позиции. Во время предыдущих этапов работы, парсер на страницах игр проверяет состав сборников и списки доступных дополнений. Если вдруг встречает что-то, чего нет в его базе - запоминает, и на данном этапе дополнительно сканирует этот список.

* Повторный проход по найденным позициям ( новые или как-то изменённые записи ), перепроверка. На самом деле, это делается после каждого этапа.

* Выгрузка результатов поиска в облако. Это чтобы иметь доступ из любого места. Облако непубличное.

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

И в конце : почему обновление "чрезвычайное" ? На прошлой неделе мимо парсера прошло две новые позиции, про которые я знал : новая игра Silence - The Whispered World 2 и дополнение Набор машин Logitech G для Forza Horizon 3. Причина стала понятна сразу же : этих позиций нет в старом списке, но они есть в новом. Такое случалось и раньше, но обычно МС исправляла ситуацию в течение дня, так что достаточно было немного подождать. В этот раз никто ничего исправлять, похоже, не собирается. Так что пришлось откладывать все дела и заниматься исправлением парсера, боюсь, это начало конца старого списка.

Вечером выложу очередной выпуск "Новинок", куда включу и "потери".

Спасибо за внимание. Надеюсь, хоть кто-то дочитал до конца )).

4 комментария:

  1. Ок дочитал спасибо за инфу и за такую работу

    ОтветитьУдалить
  2. Дочитал до конца, но так и не понял, как тебе можно кидать деньги сквозь монитор за такую работу :(

    ОтветитьУдалить
  3. звучит как борьба добра со злом ))
    Удачи тебе в этой битве дружище! ) Я постоянно слежу за тобой и твоими благими делами )

    ОтветитьУдалить
    Ответы
    1. Ну почему же сразу со злом )). В новом магазине и хорошего тоже много, работает он намного стабильнее и шустрее старого. Ну не могут сразу всё хорошо сделать, это да. Когда-нибудь допилят, доделывать есть что, и много. А вот форум жалко, он нескоро оживёт...

      Удалить

Примечание. Отправлять комментарии могут только участники этого блога.