Počítejte zobrazení stránek, ne uživatele. Webová analytika s důrazem na soukromí, bezpečně uložená v EU.
OTEVŘENÁ BETA
Počítejte zobrazení stránek, ne uživatele. Webová analytika s důrazem na soukromí, bezpečně uložená v EU.

Open Source Tabulka Vyhledávání Uživatelských Agentů

Open-source dataset pro vyhledávání uživatelského agenta s předvídatelným chováním. Na bázi JSON, lidsky ověřený a navržený pro praktické analytické využití.
Stránka byla pro vaše pohodlí přeložena z angličtiny našimi vysoce motivovanými AI stážisty. Ještě se učí, takže se mohou objevit drobné chyby. Pro co nejpřesnější informace prosím použijte anglickou verzi.
Domov Projekty s otevřeným zdrojovým kódem Open Source Tabulka Vyhledávání Uživatelských Agentů

Tento repozitář obsahuje normalizovanou, pečlivě vybranou datovou sadu řetězců uživatelských agentů, uloženou jako JSON soubory a určenou k použití jako vyhledávací tabulka pro odvození jednoduchých údajů o uživatelském agentovi, například o klientovi uživatelského agenta a operačním systému.

Používá se jako součást PageviewsOnline, ale zde je zveřejněno pro obecné použití.

Datový soubor je doplněn jednoduchými pomocnými skripty pro validaci dat a export do dalších formátů nebo programovacích jazyků (např. Java).

Filozofie projektu

Cílem tohoto projektu není poskytovat bezchybně spolehlivý ani zcela přesný systém detekce uživatelského agenta, ale spíše praktické řešení s nejlepším možným úsilím, které se časem zlepšuje díky reálnému používání a příspěvkům komunity.

Detekce uživatelského agenta je v zásadě nedokonalá. Místo toho, abychom usilovali o dokonalou přesnost, se tento projekt soustředí na to být:

  • Praktické
  • Snadno udržovatelný
  • Průhledný
  • Dostačující pro analýzu a klasifikaci v reálném světě

Přesnost se zlepšuje časem díky pečlivě vybraným aktualizacím, používání v praxi a příspěvkům komunity.

Heuristické parsování a složité regulární výrazy často obětují předvídatelnost ve prospěch marginálního nárůstu přesnosti.

Tento projekt upřednostňuje:

  • Průhlednost nad magií
  • Kurátovaná data nad neprůhlednou logikou
  • Vysvětlitelné výsledky nad spekulativní detekcí

Funkce

  • Normalizovaná, ručně prověřená sada uživatelských agentů
  • Jednoduché a předvídatelné chování při vyhledávání
  • Formát založený na JSON, snadno čitelný a lze jej verzovat
  • Lehké validační skripty
  • Exportovat pomocné funkce pro jiné jazyky (např. Java)
  • Aktivně používáno v produkčním prostředí SaaS

Normalizované Řetězce Uživatelského Agenta

Hlavním cílem tohoto projektu je rychle a předvídatelně extrahovat informace, které jsou na vysoké úrovni a stabilní, z řetězců uživatelského agenta.

Abychom toho dosáhli, je každý řetězec uživatelského agenta před zpracováním normalizován. Normalizace odstraňuje nestabilní variace (například čísla verzí a rozdíly ve velikosti písmen), přičemž zachovává strukturní a sémantický význam uživatelského agenta.

Řetězce uživatelského agenta jsou normalizovány pomocí následujících kroků:

  • Nahraďte všechna číslice (0-9) zástupným znakem x. Tím se odstraňuje šum způsobený změnami verzí a zachovává se struktura a délka tokenů.
  • Převést celý řetězec na malá písmena. Tokeny uživatelského agenta jsou podle konvence necitlivé na velikost písmen, a převod na malá písmena zajišťuje konzistentní a spolehlivé vyhledávání.

Například následující řetězec uživatelského agenta:

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

Je normalizováno na:

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

Tento normalizační přístup usnadňuje seskupování, porovnávání a udržování uživatelských agentů v průběhu času, a zároveň zůstává dostatečně přesný pro klasifikaci na úrovni klienta a operačního systému.

Odstraněním variací souvisejících s verzemi a s velikostí písmen se vyhledávací proces stává předvídatelnějším a odolnějším vůči budoucím změnám uživatelského agenta.

Formát dat

Každá normalizovaná položka uživatelského agenta obsahuje:

  • cs - Normalizovaný řetězec uživatelského agenta
  • client_family - Vysoká úroveň klasifikace klientů (např. prohlížeč, bot, aplikace)
  • os_family - Klasifikace operačních systémů na vysoké úrovni

Přesná pole se mohou v průběhu času měnit, jak roste datová sada.

Chování při vyhledávání

Porovnání uživatelského agenta se provádí proti normalizovaným řetězcům.

Přesné shody jsou upřednostňovány; částečné nebo heuristické shody jsou záměrně vynechány, aby bylo chování předvídatelné a debugovatelné.

Přispívání

Příspěvky jsou velmi vítány a pomáhají zlepšit celkovou kvalitu a přesnost tohoto projektu.

Nejpřínosnějším způsobem, jak přispět, je přidání nebo aktualizace normalizovaných záznamů uživatelských agentů v souboru user_agents.json, spolu s příslušnými klasifikačními daty.

Jakmile budou vaše změny hotové, prosím odešlete pull request obsahující potřebná data a/nebo aktualizace kódu.

I částečné nebo neúplné informace jsou užitečné a oceňované - každý příspěvek pomáhá zlepšit pokrytí a dlouhodobou spolehlivost.

Začínáme (Rychlý Průvodce)

Jádrem tohoto projektu je sada JSON datových souborů umístěných ve složce data/.

Abychom tato data udrželi a znovu je použili, repozitář obsahuje malou sadu jednoduchých Node.js skriptů, které provádějí základní validaci a exportní úkoly.

Běžné dostupné příkazy:

  • npm run test - Ověřuje JSON data a vyhledává chyby ve struktuře nebo v konzistenci.
  • Vytváří, třídí a exportuje normalizovaná data do formátů jiných programovacích jazyků (např. Java) pro snadnější integraci.

Tyto nástroje jsou záměrně minimalistické a zaměřují se na správnost dat a přenositelnost spíše než na složité zpracování.

Řetězce User-Agent nejsou spolehlivé

Získávání přesných informací z řetězců user-agent je samo o sobě nespolehlivé z několika důvodů:

  • Neexistuje žádný formální standard ani specifikace, která by určovala strukturu nebo obsah řetězců uživatelského agenta
  • Mnoho uživatelských agentů záměrně falšuje nebo napodobuje jiné uživatelské agenty kvůli kompatibilitě a zastaralým verzím

Z tohoto důvodu je extrémně obtížné určovat údaje o user-agentu plně přesně a konzistentně.

Tuto knihovnu tedy lze považovat za řešení s nejlepším úsilím, nikoli za zdroj zaručené či autoritativní pravdy.

Přesnost se časem může zlepšovat díky dalšímu používání a příspěvkům komunity.

Verzování & Stabilita

Datový soubor se může časem měnit, jak se vyvíjejí uživatelské agenty.

Klasifikace se nepovažují za zásadní změny, ani mezi menšími verzemi.

Spotřebitelé by měli výsledky brát jako náznaky s nejlepším úsilím, nikoli jako smluvní záruky.

Licence

Tento projekt a jeho data jsou zveřejněny pod licencí Apache 2.0 (Apache-2.0).

Komerční použití, úpravy a redistribuce jsou povoleny.

Příspěvky jsou vítány a oceňovány.

Ochranná známka

PageviewsOnline, Two-Dot-Oh a jakékoli související loga, názvy služeb nebo branding, jsou ochranné známky společnosti Two-Dot-Oh.

Tento projekt je open source; nicméně použití názvu PageviewsOnline nebo jakékoli související značky v souvislosti s produktem, službou nebo nabídkou není bez předchozího písemného souhlasu povoleno.

Forky a odvozená díla musí používat jiné jméno a vizuální identitu a nesmí naznačovat schválení ani spojení s PageviewsOnline ani Two-Dot-Oh.