Настройка кампании в Накодо начинается с одного поля: вашего домена. На основе этого мы читаем ваш сайт и пишем краткое описание всей остальной части продукта. Наивная версия состоит из шести строк: получить домашнюю страницу, удалить теги, отправить текст...
Настройка кампании в Накодо начинается с одного поля: вашего домена. На основе этого мы читаем ваш сайт и пишем краткое описание всей остальной части продукта.
Наивная версия состоит из шести строк: получить домашнюю страницу, удалить теги, отправить текст в модель. Мы выпустили что-то около 370 строк, и почти ничего из лишнего не связано с извлечением. Речь идет о выборе того, что не отправлять, и о том, что сказать, когда сайт не открывается.
Три способа запросить домашнюю страницу
const urls = [`https://${domain}/`, `https://www.${domain}/`, `http://${domain}/`];
Многие сайты отвечают ровно на один из них. Порядок не интересен; что означают неудачи:
for (const URL-адресов) {
if (url.startsWith("http:") && отказы.some((f) => f.problem !== "error" && f.problem !== "tls")) Break;
...
}
const Стоит = errors.find((f) => f.problem !== "not_found") ?? неудачи[0];
бросить новый CrawlError(crawlErrorMessage(домен, стоит.проблема, стоит.деталь), стоит.проблема);
При наблюдении за провалом реальных доменов выпали два правила:
Обычный HTTP — это последнее средство, а не третья попытка. Если https://acme.com вернул код 403, а время ожидания https://www.acme.com истекло, попытка использовать порт 80 ничего не говорит о том, что вы хотите предпринять: