Štej ogledov strani, ne ljudi. Spletna analitika s poudarkom na zasebnosti, varno shranjena v EU.
ODPRTA BETA
Štej ogledov strani, ne ljudi. Spletna analitika s poudarkom na zasebnosti, varno shranjena v EU.

Odprtokodna tabela za iskanje uporabniških agentov

Odprtokodni nabor podatkov za iskanje uporabniškega agenta z predvidljivim vedenjem. JSON-temeljen, ročno pregledan in zasnovan za praktično uporabo v analitiki.
Ta stran je bila prevedena iz angleščine s strani naših zelo motiviranih AI pripravnikov za vašo udobnost. Še vedno se učijo, zato se lahko pojavijo določene napake. Za najbolj točne informacije prosimo, da se obrnete na angleško različico.
domov Odprtokodni Projekti Odprtokodna tabela za iskanje uporabniških agentov

Ta repozitorij vsebuje normaliziran, kuriran nabor podatkov o nizih uporabniškega agenta, shranjenih kot JSON datotek, in zasnovan za uporabo kot iskalna tabela za pridobivanje preprostih podatkov o uporabniškem agentu, kot sta uporabniški agent (klijent) in operacijski sistem.

Uporablja se kot sestavni del PageviewsOnline, vendar je tukaj objavljeno za splošno rabo.

Nabor podatkov je dopolnjen s preprostimi pomožnimi skriptami za preverjanje podatkov in izvoz v druge formate ali programske jezike (na primer Java).

Filozofija projekta

Cilj tega projekta ni zagotoviti popolnoma zanesljivega ali popolnoma natančnega sistema za identifikacijo uporabniškega agenta, temveč praktična, po najboljših močeh izvedljiva rešitev, ki sčasoma napreduje zaradi uporabe v resničnem svetu in prispevkov skupnosti.

Prepoznavanje uporabniškega agenta je po naravi nepopolno. Namesto prizadevanja za popolno natančnost se ta projekt osredotoča na to, da je:

  • Praktično
  • Vzdrževano
  • Prozoren
  • Dovolj dobro za analitiko v resničnem svetu in klasifikacijo

Natančnost se sčasoma izboljšuje prek skrbno izbranih posodobitev, uporabe v resničnem svetu in prispevkov skupnosti.

Heuristično parsiranje in kompleksni regularni izrazi pogosto žrtvujejo predvidljivost v zameno za marginalno povečanje natančnosti.

Ta projekt spodbuja:

  • Transparentnost nad magijo
  • Izbrani podatki nad neprozorno logiko
  • Razlagljivi rezultati namesto špekulativnega odkrivanja

Funkcije

  • Normaliziran, ročno pregledan nabor uporabniških agentov
  • Preprosto in predvidljivo delovanje iskanja
  • Format, ki temelji na JSON-u, enostaven za pregled in upravljanje verzij
  • Lahke validacijske skripte
  • Izvozi pomočnike za druge jezike (npr. Java)
  • Aktivno uporabljano v produkcijskem SaaS okolju

Normalizirani Nizi Uporabniškega Agenta

Glavni cilj tega projekta je iz nizov uporabniškega agenta izluščiti informacije visoke ravni in stabilne na hiter in predvidljiv način.

Da bi to podprli, se vsak niz uporabniškega agenta pred obdelavo normalizira. Normalizacija odstrani nestabilne variacije (npr. številke različic in razlike v velikosti črk), pri čemer ohranja strukturni in semantični pomen uporabniškega agenta.

Nizi uporabniškega agenta se normalizirajo po naslednjih korakih:

  • Zamenjajte vse številčne cifre (0-9) z nadomestnim znakom x. To odpravlja šum, ki ga povzročajo različice, pri tem pa ohranja strukturo in dolžino tokenov.
  • Pretvori celoten niz v male črke. Tokeni uporabniškega agenta so po navadi neobčutljivi na razlikovanje med velikimi in malimi črkami, in pretvarjanje v male črke zagotavlja dosledne in zanesljive poizvedbe.

Na primer, naslednji niz uporabniškega 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 normalizirano na:

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

Ta pristop normalizacije omogoča, da jih lažje združimo, primerjamo in vzdržujemo sčasoma, pri čemer ostaja dovolj natančen za visokonivojsko klasifikacijo odjemalcev in operacijskih sistemov.

Z odpravo variabilnosti, ki je povezana z različicami in velikostjo črk, postopek iskanja postane bolj predvidljiv in bolj odporen na prihodnje spremembe uporabniškega agenta.

Podatkovni format

Vsak normaliziran vnos agenta uporabnika vključuje:

  • id - Normaliziran niz uporabniškega agenta
  • client_family - Klasifikacija odjemalcev na visoki ravni (npr. brskalnik, bot, aplikacija)
  • os_family - Klasifikacija operacijskega sistema na visoki ravni

Natančna polja se lahko sčasoma spreminjajo, ko se nabor podatkov povečuje.

Način Iskanja

Ujemanje uporabniškega agenta se izvaja na normaliziranih nizih.

Natančna ujemanja so prednostna; delna ali heuristična ujemanja so namerno izključena, da delovanje ostane predvidljivo in enostavno za odpravljanje napak.

Prispevanje

Prispevki so zelo dobrodošli in pomagajo izboljšati splošno kakovost in natančnost tega projekta.

Najbolj učinkovit način prispevanja je dodajanje ali posodabljanje normaliziranih vnosov uporabniškega agenta v datoteko user_agents.json, skupaj z ustreznimi podatki o klasifikaciji.

Ko bodo vaše spremembe pripravljene, prosimo oddajte pull request, ki vsebuje potrebne podatke in/ali posodobitve kode.

Tudi delne ali nepopolne informacije so koristne in cenjene – vsak prispevek prispeva k izboljšanju pokritosti in dolgoročne zanesljivosti.

Začetek (Hitri vodič)

Jedro tega projekta je nabor datotek JSON s podatki, ki se nahajajo v imeniku data/.

Da bi olajšali vzdrževanje in ponovno uporabo teh podatkov, repozitorij vključuje manjši nabor preprostih Node.js skriptov, ki izvajajo osnovno validacijo in naloge izvoza.

Najpogostejši razpoložljivi ukazi:

  • npm run test - Validira JSON podatke in preveri napake v strukturi ali skladnosti.
  • Ustvari, razvrsti in izvozi normalizirane podatke v druge formate programskih jezikov (npr. Java) za lažjo integracijo.

Ta orodja so namenoma zelo preprosta, osredotočena na točnost podatkov in prenosljivost, namesto na zapleteno obdelavo.

Nizi User-Agent Niso Zanesljivi

Pridobivanje točnih informacij iz nizov uporabniškega agenta je zaradi več razlogov nezanesljivo:

  • Ne obstaja formalni standard ali specifikacija, ki ureja strukturo ali vsebino nizov uporabniškega agenta
  • Veliko uporabniških agentov namerno lažno predstavljajo ali posnemajo druge uporabniške agente zaradi združljivosti in razlogov, povezanih z zastarelo tehnologijo.

Zaradi tega je izjemno težko določiti podatke o uporabniškem agentu na popolnoma natančen in dosleden način.

Zato je treba to knjižnico jemati kot rešitev po najboljših močeh, ne kot vir zagotovljene ali avtoritativne resnice.

Nadaljnja uporaba in prispevki skupnosti lahko izboljšata natančnost sčasoma.

Verzije in Stabilnost

Podatkovni nabor se lahko s časom spreminja, saj se razvijajo uporabniški agenti.

Klasifikacije se ne štejejo za prelomne spremembe, tudi med manjšimi verzijami.

Potrošniki naj rezultate obravnavajo kot namige, ki temeljijo na najboljšem naporu, ne pa kot pogodbeno jamstvo.

Licenca

Ta projekt in njegovi podatki so izdani pod licenco Apache License 2.0 (Apache-2.0).

Komerčna uporaba, prilagoditve in redistribucije so dovoljene.

Prispevki so dobrodošli in cenjeni.

Blagovna znamka

PageviewsOnline, Two-Dot-Oh ter vsi povezani logotipi, imena storitev ali blagovne znamke so blagovne znamke podjetja Two-Dot-Oh.

Ta projekt je odprtokoden; vendar uporaba imena PageviewsOnline ali katere koli povezane blagovne znamke v zvezi z izdelkom, storitvijo ali ponudbo ni dovoljena brez predhodnega pisnega soglasja.

Razvejitve in izpeljana dela morajo uporabljati drugo ime in drugo blagovno identiteto ter ne smejo nakazovati podpore ali povezanosti z PageviewsOnline ali Two-Dot-Oh.