interlark / parser-2gis

Парсер сайта 2GIS для сбора адресов и контактов предприятий России и стран СНГ
GNU Lesser General Public License v3.0
197 stars 38 forks source link

Перестает парсить на 5 странице 2ГИС #19

Closed IvanHuman closed 1 year ago

IvanHuman commented 1 year ago

Здравствуйте!

IP Российский Пробовал 2 разных IP

Ссылка сгенерирована в программе https://2gis.kz/nur_sultan/search/Продуктовые магазины/rubricId/373

В 2ГИС написано 1960 объектов. Грузится только 37-40 организаций.

Если смотреть в 2ГИС, то парсится только 5 страниц с сайта. Дальше не идет.

Потом пишет «парсинг завершен» и все закрывается.

Иногда пишет вот такую ошибку:

10:24:35.826 | Ошибка во время работы парсера. Traceback (most recent call last): File "parser_2gis\writer\writers\csv_writer.py", line 172, in _extract_raw File "pydantic\main.py", line 342, in pydantic.main.BaseModel.init pydantic.error_wrappers.ValidationError: 3 validation errors for CatalogItem name_ex field required (type=value_error.missing) org field required (type=value_error.missing) rubrics field required (type=value_error.missing)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "parser_2gis\runner\gui.py", line 69, in run File "parser_2gis\parser\parsers\main.py", line 222, in parse File "parser_2gis\writer\writers\csv_writer.py", line 153, in write File "parser_2gis\writer\writers\csv_writer.py", line 175, in _extract_raw File "parser_2gis\common.py", line 115, in report_from_validation_error KeyError: 'name_ex'


Вопрос: Что я делаю не так? Подскажите, как загрузить все 1690 объектов?

Вот такую ошибку выдает после 5 страницы

interlark commented 1 year ago

Привет, этот случай какое-то исключение, остальные нормально парсит? Ошибка валидации API, в след. версии парсера надо получше выводить информацию о таких случаях. Я попробовал запустить указанную ссылку - нормльно спарсило. Браузер, случайно, не скрываете?

issue19.csv

IvanHuman commented 1 year ago

Можем по Вацап пообщаться? Вацап написал на почту. Иван Могу в режиме онлайн запустить и покажу вам. Кратко здесь отвечу: А я другие категории не парсил, нужна была именно эта, продуктовые магазины. Браузер не скрываю, напрямую открывается Гугл хром.

вт, 3 янв. 2023 г., 14:33 Andy Trofimov @.***>:

Привет, этот случай какое-то исключение, остальные нормально парсит? Ошибка валидации API, в след. версии парсера надо получше выводить информацию о таких случаях. Я попробовал запустить указанную ссылку - нормльно спарсило. Браузер, случайно, не скрываете?

issue19.csv https://github.com/interlark/parser-2gis/files/10335079/issue19.csv

— Reply to this email directly, view it on GitHub https://github.com/interlark/parser-2gis/issues/19#issuecomment-1369500657, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5BTILFEU7A7V57DUYX7HT3WQPP5VANCNFSM6AAAAAATPKEMNM . You are receiving this because you authored the thread.Message ID: @.***>

IvanHuman commented 1 year ago

Как я вам завидую, что у вас все парсит! И что вы сумели написать эту программу! Но вот я сейчас попробовал другую категорию и опять, на 5 странице "парсинг завершен", закрылся Хром с 2ГИС и всё (( Опять только 37 организаций и всё (( Можете помочь мне?

5 страницу уже не парсит

interlark commented 1 year ago

1) Попробуйте последнюю версию парсера. 2) Убедитесь что у вас достаточно свободной RAM.

interlark commented 1 year ago

Странно, что https://2gis.kz/nur_sultan работает, 2GIS недавно внёс изменения и теперь это https://2gis.kz/astana. На первый взгляд, похоже что просто недостаточно RAM.

IvanHuman commented 1 year ago

Здравствуйте. Проверил версию 1. Не работает. На 5 странице 2ГИС пытается продолжать парсить, но не парсит. И не останавливается. Ошибки не выдает никакой. Пришлось вручную принудительно программу остановить. Я думаю здесь дело не в моем компе, а просто программа не может обойти какое-то ограничение 2ГИС. И это ограничение срабатывает всегда на 5 странице на 37 организации. И дело не в названии города, потестил Питер, все тоже самое, 5 страница и конец.

Но для чистоты эксперимента, вдруг я что-то делаю не так? Можете спарсить вот по этой ссылке организации, сколько штук у вас в итоге получится? 2ГИС показывает 3270 фирм. Сможете мне выслать файл Эксель? https://2gis.kz/nur_sultan/search/продукты
5 страницу все равно не парсит вер 1

interlark commented 1 year ago

image Проверьте также не установлен ли слишком низкий Лимит RAM в Настройках.

IvanHuman commented 1 year ago

Я не понимаю, а как у вас без задержки кликов идет парсинг? Если я ставлю такие же параметры как у вас по кликам, то сразу же появляется ошибка Authorization error.

А когда я ставлю задержку кликов 6000 миллисекунд, то парсинг идет, но опять только до 5 страницы. Дальше не парсит.

5 страницу все равно не парсит вер 3

interlark commented 1 year ago

Я такое поведение наблюдал при парсинге за территорией РФ. Проверьте ещё раз территориальную принадлежность IP адреса, например тут https://2ip.ru или https://ipaddress.my.

Парсить за территорией РФ действительно возможно только с больши́ми задержками кликов, т.к. трафик не из РФ 2GIS не интересует.

IvanHuman commented 1 year ago

Вот. Я взял НОВУЮ программу под VPN. Взял НОВЫЕ Российские прокси. Запустил парсер и … всё получилось! Парсит все страницы! Как же я рад! Благодарю! Денюжку на поддержку разработки сбросил на Qiwi!

interlark commented 1 year ago

Рад, что проблема разрешилась, за поддержку благодарю.