Глоссарий
Веб-скрейпинг
Веб-скрейпинг это чтение данных со страницы так, как их видит посетитель, с записью в свои собственные строки.
Из чего складывается сбор
Любой сбор это три одинаковых движения по кругу. Браузер открывает адрес, на странице находится нужный кусок, и его содержимое записывается под выбранным именем.
- 1
Открыть адрес
Страницу грузит настоящий браузер, поэтому дорисованное скриптами тоже доступно чтению.
- 2
Указать на кусок
Указатель называет то место, которое вы имеете в виду, а сайт решает, совпадёт ли оно завтра.
- 3
Записать под именем
Текст становится значением для следующих шагов, и просмотр превращается в сбор.
Что страница читает про вас
Это прочитано в вашем браузере на этой странице, и сайт, с которого вы собираете, читает то же самое. Признак автоматизации это как раз та строка, которую обычные средства сбора оставляют включённой.
Ваша машина прямо сейчас
- Строка браузера
- измеряем на вашей машине
- Признак автоматизации
- измеряем на вашей машине
- Языки
- измеряем на вашей машине
- Часовой пояс
- измеряем на вашей машине
Прочитано в вашем браузере и показано здесь. Никуда не отправляется.
Шаги чтения в сценарии
У сборщика сценариев закреплённый набор видов шага, и четыре из них читают, а не действуют. Идут они внутри браузера самого профиля, с его отпечатком, печеньем и прокси.
Извлечь текст
Берёт первый подошедший кусок страницы и кладёт его текст в переменную, обрезанный по краям и по длине.
Для каждого
Проходит телом по каждому найденному куску до заданного потолка и перечитывает список на каждом проходе.
Выполнить свой код
Исполняет ваш код прямо в странице и хранит то, что он вернул: выход на случай, когда указателя мало.
Дождаться запроса
Держит ход, пока страница не запросит названный вами адрес, и поздно пришедший список читается после прихода.
Куда попадает собранный текст
Это стоит знать до того, как работа спланирована. Значения живут внутри прогона, пока он идёт, а после него остаётся журнал, а не готовый набор данных.
- Во время прогона
- Значение лежит в переменной, и следующие шаги его берут
- После прогона
- Остаётся в журнале прогонов на этой машине, свежие целы
- Снимки экрана
- Файлы в каталоге, который читает только ваша учётная запись
- Таблица
- Не пишется: выгрузки строк в файл здесь нет вовсе
Местный ход запуска отвечает опознавателем прогона, а не прочитанным текстом.
Часто путают с этим
Открытый интерфейс
Объявленный интерфейс даёт записи и договорённость о них. Сбор даёт то, что страница нарисовала сегодня.
Обход сайта
Обход это поиск страниц, которые стоит открыть. Сбор это чтение уже выбранной страницы, и настоящей работе нужно и то и другое.
Браузер без окна
Работа без окна это способ собирать, а не разновидность сбора, и замечают её первой.
Почему сбор замечают
Сломанный указатель падает громко, и чинится он за минуту. Всё, что ниже, падает тихо, и разбор страницы тут ни при чём.
Один адрес и тысяча чтений
Серверный адрес, вытягивающий тысячу страниц в час, это самая старая примета в этом деле.
Ритм, какого не держит человек
Ровные паузы, одинаковая длина прокрутки и прогон, начинающийся в одну и ту же секунду.
Один браузер на всё
Двадцать аккаунтов за одним отпечатком и одной банкой печенья связаны ещё до первой прочитанной страницы.
Чего это не делает
- Выгрузки данных здесь нет. Собранное шагом чтения живёт в прогоне и в журнале прогонов на этой машине, и ни таблицы, ни базы за вас никто не пишет.
- Местный ход запуска возвращает опознаватель прогона, а не строки. Программа на этой машине видит список сценариев и запускает прогон, а хода, который отдал бы прочитанное, у неё нет.
- Шаг чтения берёт первый подошедший кусок страницы и текст внутри него. Ни понимания таблиц, ни перелистывания выдачи, ни описания полей здесь не предусмотрено.
- Это не решает того, из-за чего работа и заканчивается. Репутация адреса, история сессии и час, в который вы работаете, это отдельные задачи, и аккаунты закрывают из-за них чаще.
Проверить
Каждое утверждение выше это файл, который открывается, и стенд, который идёт.
- Виды шагов, которые может держать сценарий, и что хранит шаг чтения
- apps/desktop/src/lib/rpa.js
- Присланный сценарий нельзя навести на файл вашего диска, и адрес проверяется ещё раз на ходу
- apps/desktop/src/lib/rpa.js · apps/desktop/test/rpa-reach.js
- Прогон по-настоящему ведёт браузер и по-настоящему меняет страницу
- apps/desktop/test/сценарий-живьём.js
- Что законченный прогон оставляет на этой машине, а что отбрасывает
- apps/desktop/src/main/main.js · apps/desktop/test/run-log-survives-restart.js
Вопросы
- Законен ли сбор данных со страниц?
- Это зависит от сайта, от самих данных и от того, где вы находитесь, и страница словаря за вас не ответит. Правила сайта, права на базу данных и законы о личных данных действуют раньше любого технического вопроса.
- Почему руками получается, а скриптом нет?
- Чаще всего потому, что скрипт сам о себе сообщает. Обычное средство управления оставляет включённым признак автоматизации и свою строку браузера, и читают их на первом же запросе.
- Нужен ли вообще настоящий браузер?
- Для страницы, которая приходит готовой, не нужен. Для всего, что дорисовывают скрипты, браузер это самый дешёвый способ увидеть то же, что видит посетитель.
- Можно читать всё одним профилем?
- Можно, и тогда всё прочитанное связано с одной личностью. Работа, которую нельзя связывать, живёт в разных профилях с разными адресами выхода.
- Как забрать значения из ARMANOS?
- Они лежат в журнале прогонов на этой машине, и больше программа их никуда не кладёт. Кнопки выгрузки итогов прогона здесь нет.
Прочитайте страницу отдельным профилем
Сборщик, журнал прогона и профили живут в самой программе, и о сценарии не узнает никто, пока вы сами его не отправите.