Брой посещения на страници, а не на хора. Уеб аналитика с приоритет върху поверителността, сигурно съхранявана в ЕС.
ОТКРИТА БЕТА
Брой посещения на страници, а не на хора. Уеб аналитика с приоритет върху поверителността, сигурно съхранявана в ЕС.

Таблица За Търсене На Потребителски Агент С Отворен Код

Датасет за търсене на потребителски агенти с отворен код и предвидимо поведение. JSON-базиран, проверен от човек и предназначен за практическа аналитика.
Тази страница е преведена от английски език от нашите мотивирани AI стажанти за ваше удобство. Те все още учат, така че е възможно да са се допуснали някои грешки. За най-точна информация моля, вижте английската версия.
Начало Проекти с отворен код Таблица За Търсене На Потребителски Агент С Отворен Код

Това хранилище съдържа нормализиран и подбран набор от низове за потребителски агенти, който се съхранява като JSON файлове и е предназначен да се използва като таблица за справки за извличане на прости данни за потребителския агент, включително тип клиента и операционната система.

Използва се като компонент на PageviewsOnline, но е публикуван тук за общо предназначение.

Наборът от данни е допълнен със прости помощни скриптове за валидиране на данните и експортиране в други формати или програмни езици (като Java).

Философия на проекта

Целта на този проект не е да предоставя безпогрешна или напълно точна система за разпознаване на user-agent, а по-скоро практично решение, което се изгражда с най-добрите усилия и се подобрява с времето благодарение на реална употреба и принос от общността.

Разпознаването на потребителския агент е по своята природа несъвършено. Вместо да преследваме пълна точност, този проект се фокусира върху това да бъде:

  • Практичен
  • Лесно поддържан
  • Прозрачен
  • Достатъчно добро за аналитика и класификация в реалния свят

Точността се подобрява с времето благодарение на подбрани актуализации, реална употреба и принос от общността.

Хеуристичното парсване и сложните регулярни изрази често жертват предсказуемостта за маргинални подобрения в точността.

Този проект предпочита:

  • Прозрачност над магията
  • Подбрани данни, вместо непрозрачна логика
  • Обясними резултати пред спекулативно откриване

Функции

  • Нормализиран, ръчно проверен набор от данни за потребителски агенти
  • Просто и предсказуемо поведение при търсене
  • Формат, базиран на JSON, лесен за преглеждане и управление на версиите
  • Леки скриптове за валидиране
  • Експортиране на помощни функции за други езици (напр. Java)
  • Активно се използва в продукционна SaaS среда

Нормализирани User-Agent низове

Основната цел на този проект е да извлича информация с високо ниво на абстракция и стабилност от низовете на потребителския агент по бърз и предвидим начин.

За да подпомогнем това, всеки низ от потребителски агент се нормализира преди обработката. Нормализацията премахва нестабилни вариации (като номера на версиите и различия в големината на буквите), докато запазва структурното и семантичното значение на потребителския агент.

Стрингите на потребителския агент се нормализират чрез следните стъпки:

  • Заместете всички цифри (0-9) с заместителен символ x. Това премахва шума, причинен от промените във версията, като запазва структурата на токена и дължината.
  • Преобразувайте целия низ към малки букви. Токени на потребителския агент са нечувствителни към регистъра по конвенция, а преобразуването към малки букви осигурява консистентни и надеждни търсения.

Например, следният низ на потребителския агент:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36

Нормализирано до:

mozilla/x.x (windows nt xx.x; winxx; xxx) applewebkit/xxx.xx (khtml, like gecko) chrome/xxx.x.x.x safari/xxx.xx

Този подход за нормализация улеснява групирането, сравняването и поддържането на потребителските агенти с течение на времето, като едновременно остава достатъчно точен за класифициране на клиентски устройства и операционни системи на високо ниво.

Като премахнем версионо-специфична и свързана с регистъра на буквите вариабилност, процесът на търсене става по-предвидим и по-устойчив към бъдещи промени в потребителския агент.

Формат на данните

Всеки нормализиран запис за потребителски агент съдържа:

  • id - Нормализираният низ на потребителския агент
  • client_family - Високо ниво на класификация на клиента (напр. браузър, бот, приложение)
  • os_family - класификация на операционните системи от високо ниво

Точните полета могат да се променят с времето, докато наборът от данни нараства.

Поведение при търсене

Съпоставянето на потребителския агент се извършва срещу нормализирани низове.

Точни съвпадения са за предпочитане; частични или евристични съвпадения са умишлено избягвани, за да се запази поведението предвидимо и дебъгируемо.

Участие

Приносите са много добре дошли и помагат за подобряване на общото качество и точността на този проект.

Най-ефективният начин да допринесете е да добавяте или актуализирате нормализирани записи за потребителски агенти във файла user_agents.json, заедно с всички релевантни данни за класификация.

След като промените са готови, моля изпратете pull request, съдържащ необходимите данни и/или актуализации на кода.

Дори частична или непълна информация е полезна и ценена - всеки принос помага за подобряване на обхвата и дългосрочната надеждност.

Започване (Бързо ръководство)

Същността на този проект е наборът от JSON файлове с данни, разположени в директорията data/.

За да помогнем за поддържането и повторното използване на тези данни, репозиторията включва малък набор от прости Node.js скриптове, които изпълняват базова валидация и задачи за експортиране.

Често използвани команди:

  • npm run test - Валидира данните в JSON и проверява за структурни или консистентни грешки.
  • npm run build - Създава, подрежда и експортира нормализираните данни в други формати за езици за програмиране (например Java) за по-лесна интеграция.

Тези инструменти са умишлено минималистични, фокусирани върху точността на данните и преносимостта, вместо сложна обработка.

Низове на потребителския агент не са надеждни

Извличането на точна информация от низовете на потребителския агент е по същество ненадеждно поради няколко причини:

  • Няма формален стандарт или спецификация, който регламентира структурата или съдържанието на низовете на потребителския агент.
  • Много потребителски агенти целенасочено маскират или имитират други потребителски агенти заради съвместимост и остарели причини

Заради това е изключително трудно да се определят данните за потребителския агент по напълно точен и последователен начин.

Тази библиотека следва да се разглежда като решение, направено с най-големи усилия, а не като източник на гарантирана или авторитетна истина.

С продължително използване и принос от общността, точността може да се подобри с течение на времето.

Версиониране и стабилност

Наборът от данни може да се промени с течение на времето, тъй като потребителските агенти се развиват.

Класификациите не се считат за промени, нарушаващи съвместимостта, дори между по-малки версии.

Потребителите трябва да третират резултатите като ориентировъчни насоки, постигнати с най-големи усилия, а не като договорни гаранции.

Лиценз

Този проект и данните му са лицензирани под Apache License 2.0 (Apache-2.0).

Комерсиалното използване, модифицирането и разпространението са позволени.

Приносите са добре дошли и се ценят.

Търговска марка

PageviewsOnline, Two-Dot-Oh и всички свързани лога, имена на услуги или брандинг са търговски марки на Two-Dot-Oh.

Този проект е с отворен код; обаче използването на името PageviewsOnline или свързаното брандиране във връзка с продукт, услуга или предложение не е разрешено без предварително писмено съгласие.

Форкове и производни творби трябва да използват различно име и бранд идентичност и не трябва да намекват за одобрение или свързаност с PageviewsOnline или Two-Dot-Oh.