interlark / parser-2gis

Парсер сайта 2GIS для сбора адресов и контактов предприятий России и стран СНГ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Выбор данных

Svist122 opened this issue · comments

Добрый день, как я понимаю вопрос нехватки оперативка связан с тем что парсер забирает все данные каждой организации, а можно ли как то его ограничить по выкачиванию данных, например

  1. Выкачивать только компании у которых есть email или телефон
  2. Выкачивать все компании но только поля название, email, телефон, сайт без не нужных забивающих память ссылок

По сути сайт 2GIS - это SPA, с каждым кликом, каждым переходом на очередную страницу поисковой выдачи приложение гидрируется API и перестраивает свой DOM, потребляя память под новые данные и не освобождая старую, что приводит к утечке памяти. Такое происходит по разным причинам, часто из-за неправильной отвязке хандлеров событий разработчиками сайта.

В планах написать восстановление процесса парсинга с последней успешно спарсеной страницы, это даст возможность парсить на любом размере памяти.

Я вас понял, звучит логично. А что если в момент когда загрузка память превышает заданную в настройках например 3 гигабайта копировать (с /page/2) и принудительно обрубать эту ссылку, после чего подставлять ее в самый низ массива ссылок.