Мы решаем задачу скрепинга контента на сложных сайтах, где детектят ботов.
Код должен быть кроссплатформенным Windows/Linux или работать только на Linux
Стек
Язык Typescript
Тулинг Eslint (airbnb config), Gulp
www.fl.ru/away/?href=http... — для взаимодействия с браузером
www.fl.ru/away/?href=http... — для запуска браузера
Первая задача, это небольшой прототип:
Запустить в не headless режиме браузер с папкой профилем. Создать профиль, если его нет. Например, node scrape.js ./profile1 профиль в папке ./profile1
Для этого воспользоваться chrome-launcher, или, если не получится, сделать свой форк и там поменять поведение.
Зайти на google.com
Поискать что-то
Выдать в консоль title, url всех результатов поиска
Проект большой.
Задачи с которыми предстоит столкнуться в дальнейшем:
Смена user agent и платформы (включая navigator.* и тп фингерпринт)
Headless режим и обход детекции headless режима
Эмуляция поведения пользователя на странице
И тд