Перейти к содержимому

Глоссарий

Веб-скрейпинг

Сайт отдаёт браузеру текст и картинки, а не таблицу. Превратить это обратно в строки несложно; трудное это аккаунт, адрес выхода и темп, с которым вы читаете.

Веб-скрейпинг это чтение данных со страницы так, как их видит посетитель, с записью в свои собственные строки.

Из чего складывается сбор

Любой сбор это три одинаковых движения по кругу. Браузер открывает адрес, на странице находится нужный кусок, и его содержимое записывается под выбранным именем.

  1. 1

    Открыть адрес

    Страницу грузит настоящий браузер, поэтому дорисованное скриптами тоже доступно чтению.

  2. 2

    Указать на кусок

    Указатель называет то место, которое вы имеете в виду, а сайт решает, совпадёт ли оно завтра.

  3. 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?
Они лежат в журнале прогонов на этой машине, и больше программа их никуда не кладёт. Кнопки выгрузки итогов прогона здесь нет.

Прочитайте страницу отдельным профилем

Сборщик, журнал прогона и профили живут в самой программе, и о сценарии не узнает никто, пока вы сами его не отправите.