Программист — это Ленивый, — так давно пытался объяснить в своем посте блогер Филипп Ленссен. Прочитав это, я подумал про себя, достаточно ли я ленив? Звучит забавно, но должен ли я стать ленивее (это вообще слово?), чтобы стать программистом?… слишком много вопросов, чтобы думать, как будто я застрял в рекурсивный цикл.

Однако на прошлой неделе я искал работу в Linkedin и понял, что результаты поиска всегда включают рекламные списки вакансий, и их часто больше, чем обычные результаты поиска. Не осуждая необходимость продвижения по службе и/или, может быть, это был мой реальный момент программиста, но определенно не потому, что мне больше нечего было делать. Я решил попробовать написать скрипт, который будет скрывать эти продвигаемые посты.

Я быстро написал простой скрипт на Javascript, который использовал querlySelectorAll для выбора всех заданий и использовал функцию MAP для поиска его свойств по ключевому слову «Promoted». Затем мне просто нужно было установить для его свойства display значение none. Простой.

Вскоре я понял, что все сообщения о вакансиях загружаются не сразу, а при прокрутке браузер асинхронно собирал данные и отображал их пользователю. Очевидно, я мог бы прокрутить страницу вниз, а затем запустить скрипт. Но «я ленивый». — сказал мой мозг, и теперь мистер Ленссен обрел смысл.

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

Ура, теперь я могу успешно скрывать продвигаемые вакансии. А теперь ответ на вопрос, почему вы должны это делать? Я позволю вам, ребята, прокомментировать, так как я просто программист.

Проверьте мою ссылку на YouTube для демонстрации.