Версия апарсера 1216. Запросы абсолютно рандомные, можно тестить на любых. В логе ошибка выглядит вот так: Спойлер: ошибка JavaScript execution error(SE::YouTube, query: resume writing services in ottawa): TypeError: Cannot read property 'twoColumnSearchResultsRenderer' of undefined at SE_YouTube.parse [as parseOrig] (evalmachine.:1:5320) at parse.next () at SE_YouTube. (evalmachine.:1:13650) at AsyncGenerator.next () at SE_YouTube.__asyncGenCaller (evalmachine.:1:2556) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:115:5) at build/core.to_build.pl line 63661 Перед этой ошибкой в коде идёт строка "Results count not found". Спойлер: Скрин лога Процент таких ошибок небольшой, но всё же он есть. По моим наблюдениям это где-то 1 к 150-300 запросам. Возможно дело в паблик проксях и возможно на платных такого не будет, но ошибка есть ошибка, тем более учитывая, что ютуб отлично парсится без банов и на паблик прокси, незачем специально покупать для этого платные. В связи с тем, что в апарсере не существует на данный момент инструментов, позволяющих в адекватное время выяснить причины подобной ошибки(если я ошибаюсь - поправьте), могу внести следующее предложение в двух вариантах: 1. Сделать возможность выбора, чтобы писать(либо не писать, как сейчас) в логи тот код, что парсится со страницы. Ну и собственно просматривать его в логах так же, как в тестовом парсинге. Это поможет в дебаге таких вот "плавающих" ошибок. 2. Сделать в тестовом парсинге возможность парсинга запроса по кругу до какой-нибудь неординарной ошибки. Потому что руками сидеть тыкать кнопку "Запуск" и ждать появления редкой ошибки не очень интересно, если честно ) Но первый вариант куда лучше. В этом случае сами пользователи смогут видеть код страниц, как в тестовом парсинге(возможно также стоит добавить и рендеринг страницы, как в тестовом парсинге), и это поможет в определении причин ошибки. Ну либо если у пользователя недостаточно знаний для определения, в чём ошибка - всегда можно скинуть лог с полными данными сапорту, где у людей явно побольше знаний и возможностей определения причин ошибок.
ну вобщем натыкал я вроде ошибку эту в тестовом парсинге. в окне с отрисовкой страницы там вместо одной колонки отображается 2. и что интересно - в тестовом парсинге выдаёт "Results count not found", но при этом дальнейшая обработка запроса не прерывается, хотя и линки на видео не определяются парсером, то есть всё продолжается, как будто просто попалась плохая прокси, не выдавшая контента.
Не вижу такую ошибку. Results count not found говорит что не найдено результаты на странице(т.е видео). Возможно это из-за прокси. И это нормально что поток завершился неудачно если в первой странице не найдено результатов.
нет, это не нормально. если воспользоваться логикой, то можно понять, что если по запросу не было результатов, то он и должен выдать, что ему попалось ноль результатов. а "Results count not found" по построению фразы похоже на то, что парсер не нашёл на странице счётчика результатов по запросу от гугла, а не на то, что парсер просто не нашёл на странице результатов. если глянуть документ с кодом страницы, который я прикрепил ко второму сообщению, то там должно быть видно, что результаты есть. то, что вы попытались получить результаты в тестовом парсинге и написали, что всё ок говорит о том, что скорее всего вы невнимательно прочитали описание проблемы. проблема возникает редко, а не при каждом запросе. но она всё же возникает. и тут надо сделать обработку результатов парсинга с другой вёрсткой выдачи, а не делать скрин, что всё работает. я даже уже предоставил код страницы с другой вёрсткой и полностью описал проблему. я подозреваю, что гугл выдаёт каким-то геолокациям другую выдачу, из-за чего и возникает такая проблема. и проблема не в качестве прокси, т.к. страница с такой вёрсткой рендерится браузером нормально, проблема именно в другой вёрстке. и с этим надо что-то делать, хотя бы обработку ошибки, чтобы запрос не уходил в failed, а шёл на репарсинг с другой прокси.
Добавлено обработку ошибки в 1.2.1218, но саму ошибку так и не встретил. Проверьте у себя и скажите если повторится
да собственно ничего нового, всё то же самое, вот под спойлерами, ошибки одинаковые, просто скинул две Спойлер: скриншот Спойлер: ошибка раз JavaScript execution error(SE::YouTube, query: buy resume for writing 44): TypeError: Cannot read property 'twoColumnSearchResultsRenderer' of undefined at SE_YouTube.parse [as parseOrig] (evalmachine.:1:5320) at parse.next () at SE_YouTube. (evalmachine.:1:13650) at AsyncGenerator.next () at SE_YouTube.__asyncGenCaller (evalmachine.:1:2556) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:115:5) at build/core.to_build.pl line 63662. Спойлер: ошибка два JavaScript execution error(SE::YouTube, query: woodlands junior primary school homework help): TypeError: Cannot read property 'twoColumnSearchResultsRenderer' of undefined at SE_YouTube.parse [as parseOrig] (evalmachine.:1:5320) at parse.next () at SE_YouTube. (evalmachine.:1:13650) at AsyncGenerator.next () at SE_YouTube.__asyncGenCaller (evalmachine.:1:2556) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:115:5) at build/core.to_build.pl line 63662. вот если можно было бы включить расширенный лог какой-нибудь, куда писался бы код страницы, я бы скинул и его )