коли він був записаний у кеш.
Ця можливість може бути використана роботом лише тоді, коли він зберігає зв‘язок між даними, які він отримує з документу, його URL та часом отримування. Це ставить додаткові вимоги до розміру та складності бази даних, і застосовується не часто. Завантаженість мережі грає особливу роль, коли роботи використовуються кінцевими користувачами, що працюють на повільних лініях.
Інший небезпечний аспект клієнтських роботів: коли робот розповсюджений — ніякі помилки не можуть бути виправлені, ніякі інші дані не можуть бути додані і нові можливості не можуть бути реалізовані тому, що не всі оновлять версії своїх роботів.
Але найбільш небезпечним є те, що хоча деякі люди будуть використовувати роботів розумно, тобто не перевищувати який-небудь максимум, будуть люди, що зловживатимуть своїми можливостями, через незнання чи самонадійність.
"Розумні агенти" або "персональні асистенти" користувача, є зараз популярною темою для дослідження. Очевидно, що автоматизація безцінна для пошуку ресурсів, потрібно ще багато досліджень, щоб пошук став більш ефективним. Прості роботи користувача ще дуже далекі від розумних мережних агентів.
Погані реалізації
Навантаження на мережу та сервери іноді збільшується за рахунок погано написаних нових роботів. Навіть якщо вхідні та вихідні дані правильні, є багато менш очевидних проблем.
Наприклад, іноді один робот звертається декілька раз до одного й того ж ресурсу. Іноді робота просто тестують на цьому ресурсі, а у інших випадках є помилки у програмі робота. Повторні звертання трапляються, коли не записуються історія завантажених ресурсів (що обов‘язково потрібно робити), або коли робот не розпізнає випадки коли використовуються різні DNS-назви для однієї IP адреси.
Деякі роботи отримують файли таких типів, які вони не можуть обробити (GIF, PS), і ігнорують, хоча їх можна було б і не завантажувати.
Ведення каталогу
Бази даних ресурсів, що знайдені роботом, безумовно, популярні. Однак, є декілька проблем, що обмежують використання роботів для пошуку ресурсів.
Забагато матеріалу, що є забагато динамічним.
Виміром ефективності заданого підходу отримання інформації є відсоток релевантних документів серед усіх знайдених. Пошук інформації відбувається не у самому Інтернеті а у локальній базі даних конкретного робота, що може не містити інформації, яка насправді існує у Інтернеті, тому що розмір Інтернет велетенський і зміни дуже часті.
Визначення що індексувати, а що ні.
Робот не може автоматично визначити, чи потрібно дану веб-сторінку включати до свого списку чи ні. Веб-сервери можуть містити документи, які використовуються тільки локально, наприклад, список внутрішньої бібліотеки, або ті, які існують тимчасово. До деякої міри, рішення про те, що необхідно, а що ні, залежить від уподобань користувачів, але вони можуть бути невідомими для робота. Практично роботи зберігають майже все, що вони знаходять. Помітьте, що навіть, якщо робот зможе визначити, що дану сторінку не треба включати у базу даних, він уже отримав цей непотрібний файл з Інтернет. Навпаки, робот, що ігнорує великий відсоток документів є не дуже корисним.
Robot Community спробувало змінити цю ситуацію, створивши спеціальний стандарт "A standard for robot exclusion". Цей стандарт описує використання простого структурованого текстового файлу, щоб задати, які частини даного серверу не потрібно оглядати роботам. Цю можливість можна також використовувати, аби повідомити робота про чорні дірки, коли заглиблюючись у все глибші сторінки робот не може з них повернутися. Кожному роботу можна давати особливі інструкції, бо кожен з них спеціалізується в певній окремій галузі. Цей стандарт не загальноприйнятий, але вважається, що кожен робот повинен його дотримуватися.
Визначити порядок обходу сайтів це велика проблема. Більшість сайтів організовані ієрархічно, тому обхід в ширину, з вершини до заданої глибини, дає більший набір документів, ніж обхід в глибину. Проте обхід в глибину швидше віднайде сторінки користувачів, в яких є посилання на інші сторінки, і тому швидше знайде нові сайти для обходу.
# /robots.txt for http://www.site.com/
User-agent: * # attention all robots:
Disallow: /cyberworld/map # infinite URL space
Disallow: /tmp/ # temporary files
Приклад файлу robots.txt
Статистичний аналіз
Дуже складно проіндексувати звичайний веб-документ. Перші роботи просто зберігали назви документів та тексти посилань, але сучасні роботи використовують більш складні механізми, і як правило аналізують весь зміст документу.
Ці методи можна автоматично застосовувати для всіх документів, але вони не можуть бути настільки ефективні, як ручне індексування автором. HTML дає можливість додати метаінформацію до документів, яка спрощує роботу пошук по документу.
Етика
Зрозуміло, що роботи дуже корисні, але вони накладають високі вимоги на трафік і спричинюють багато проблем. Тому автори роботів мусять обирати золоту середину між користю та шкодою, коли створюють та випускають робота. І тут є етична проблема: "Чи шкоду від роботів можна виправдати їх корисністю". Люди мають різні думки щодо цього.
Деякі з проблем стали очевидними лише тоді, коли роботи збільшили вдвічі завантаження серверів. Мартин Костер виробив набір правил для авторів роботів, дотримуючись яких, можна мінімізувати шкоду від роботів:
подумайте, чи насправді вам потрібен новий робот;
зробіть так, щоб адміністратори серверів могли легко ідентифікувати робота та при необхідності зв‘язатися з автором;
ретельно протестуйте робота локально;
керуйте використанням ресурсів, не допускайте кількох послідовних скачувань з одного серверу та не допускайте непотрібних скачувань;
дотримуйтесь стандарту "for Robot Exclusion";
регулярно переглядайте log файли робота;
діліться результатами своєї роботи з іншими.
Девід Ейхмант розділяє роботів, які створюють загальнодоступні інформаційні бази, та роботів для користувачів, результат роботи яких, використовується лише однією людиною.
Той факт, що більшість авторів роботів використовують поради Мартина Костера показує, що вони свідомо ставляться до можливих проблем, та намагаються мінімізувати будь-який негативний