Numără vizualizările paginilor, nu persoanele. Analitică web cu accent pe confidențialitate, stocată în siguranță în UE.
BETA DESCHISĂ
Numără vizualizările paginilor, nu persoanele. Analitică web cu accent pe confidențialitate, stocată în siguranță în UE.

Tabel de căutare pentru User Agent Open Source

Set de date open-source pentru identificarea agentului utilizatorului, cu comportament previzibil. Bazat pe JSON, verificat manual și proiectat pentru uz analitic practic.
Această pagină a fost tradusă din engleză de către internii noștri AI, foarte motivați, pentru confortul dumneavoastră. Încă învață, așa că este posibil să fi scăpat câteva greșeli. Pentru cele mai exacte informații, vă rugăm să consultați versiunea în engleză.
Acasă Proiecte Open Source Tabel de căutare pentru User Agent Open Source

Acest repository conține un set normalizat, selectat cu grijă, de șiruri de agenți de utilizator, stocate sub formă de fișiere JSON și conceput pentru a fi folosit ca o tabelă de căutare pentru a deriva date simple despre agenții de utilizator, cum ar fi clientul și sistemul de operare al agentului utilizatorului.

Este folosit ca o componentă a PageviewsOnline, dar este publicat aici pentru uz general.

Setul de date este completat cu scripturi simple de ajutor pentru validarea datelor și pentru exportul acestora în alte formate sau limbaje de programare (de exemplu Java).

Filozofia Proiectului

Scopul acestui proiect nu este să ofere un sistem de detectare a user-agent-ului infailibil sau perfect precis, ci o soluție practică, cu eforturi reale de îmbunătățire, care evoluează în timp prin utilizarea în lumea reală și contribuțiile comunității.

Detecția agentului utilizatorului este în mod inerent imperfectă. În loc să căutăm precizia deplină, acest proiect se concentrează pe a fi:

  • Practic
  • Ușor de întreținut
  • Transparent
  • Destul de bun pentru analize din lumea reală și clasificare

Precizia se îmbunătățește în timp prin actualizări atent selecționate, utilizarea în lumea reală și contribuțiile comunității.

Parsarea heuristică și expresiile regulate complexe sacrifică adesea predictibilitatea în favoarea creșterilor de precizie marginală.

Acest proiect favorizează:

  • Transparența peste magie
  • Date selecționate în loc de logică opacă
  • Rezultate explicabile, în loc de detectare speculativă

Caracteristici

  • Set de date despre user agents, normalizat, verificat de oameni
  • Comportament de căutare simplu și previzibil
  • Format bazat pe JSON, ușor de inspectat și cu control al versiunilor
  • Scripturi de validare ușoare
  • Exportați funcții auxiliare pentru alte limbaje (de ex. Java)
  • Este utilizat activ într-un mediu SaaS de producție

Șiruri Normalizate de Agenți Utilizatori

Scopul principal al acestui proiect este să extragă informații de nivel înalt și stabile din șirurile User-Agent într-un mod rapid și previzibil.

Pentru a facilita acest lucru, fiecare șir de user agent este normalizat înainte de procesare. Normalizarea elimină variațiile instabile (de exemplu numerele de versiune și diferențele de majuscule), păstrând în același timp sensul structural și semantic al user agent-ului.

Șirurile User-Agent sunt normalizate folosind pașii următorii:

  • Înlocuiește toate cifrele (0-9) cu caracterul de substituție x. Acest lucru elimină zgomotul cauzat de schimbările de versiune, păstrând în același timp structura și lungimea tokenilor.
  • Convertește întregul șir la litere mici. Tokenii de User-Agent sunt insensibili la majuscule prin convenție, iar transformarea în litere mici asigură căutări consistente și fiabile.

De exemplu, următorul șir User-Agent:

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

Este normalizat la:

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

Această metodă de normalizare facilitează gruparea, compararea și întreținerea agenților utilizatorilor în timp, păstrând în același timp o precizie suficientă pentru o clasificare la nivel înalt a clientului și a sistemului de operare.

Prin eliminarea variabilității specifice versiunii și a variabilității legate de capitalizare, procesul de căutare devine mai previzibil și mai rezistent la modificările viitoare ale agenților utilizatori.

Formatul datei

Fiecare intrare normalizată a agentului utilizatorului conține:

  • id - Șirul normalizat al User-Agent-ului
  • client_family - Clasificare la nivel înalt a clientului (de exemplu browser, bot, aplicație)
  • os_family - Clasificare la nivel înalt a sistemelor de operare

Câmpurile exacte pot evolua în timp pe măsură ce setul de date crește.

Comportament de Căutare

Potrivirea agentului utilizatorului se efectuează pe șiruri normalizate.

Potrivirile exacte sunt de preferat; potrivirile parțiale sau cele bazate pe reguli heuristice sunt evitate în mod intenționat pentru a menține comportamentul previzibil și ușor de depanat.

Contribuind

Contribuțiile sunt foarte binevenite și ajută la îmbunătățirea calității generale și a preciziei acestui proiect.

Cea mai eficientă modalitate de a contribui este să adăugați sau să actualizați intrări normalizate de user agent în fișierul user_agents.json, împreună cu orice date de clasificare relevante.

Odată ce modificările tale sunt gata, te rugăm să deschizi un pull request care conține datele necesare și/sau actualizările de cod.

Chiar și informațiile parțiale sau incomplete sunt utile și apreciate - fiecare contribuție ajută la îmbunătățirea acoperirii și a fiabilității pe termen lung.

Începerea (Ghid Rapid)

Nucleul acestui proiect este setul de fișiere JSON cu date, situate în directorul data/.

Pentru a ajuta la întreținerea și reutilizarea acestor date, depozitul include un mic set de scripturi Node.js simple care efectuează validări de bază și sarcini de export.

Comenzi obișnuite disponibile:

  • npm run test - Validează datele JSON și verifică erorile structurale sau de consistență.
  • Construiește, sortează și exportă datele normalizate în alte formate de limbaje de programare (cum ar fi Java) pentru o integrare mai ușoară.

Aceste instrumente sunt intenționat simple, concentrându-se pe corectitudinea datelor și portabilitatea acestora, mai degrabă decât pe procesare complexă.

Șirurile de User-Agent nu sunt de încredere.

Obținerea de informații exacte din șirurile de user-agent este, în mod inerent, nefiabilă din mai multe motive:

  • Nu există o standardă formală sau o specificație care să reglementeze structura sau conținutul șirurilor de User-Agent
  • Multe agenți de utilizator se deghizează intenționat sau imită alți agenți de utilizator din motive de compatibilitate și de vechime.

Din cauza acestui fapt, este extrem de dificil să determinăm informațiile despre user-agent într-un mod complet precis și consecvent.

Prin urmare, această bibliotecă ar trebui să fie privită ca o soluție de tip best-effort, nu ca o sursă de adevăr garantat sau autoritar.

Cu utilizarea continuă și contribuțiile comunității, precizia poate să se îmbunătățească în timp.

Versionarea & Stabilitatea

Setul de date se poate modifica în timp pe măsură ce agenții de utilizator evoluează.

Clasificările nu sunt considerate schimbări incompatibile, chiar între versiunile minore.

Consumatorii ar trebui sa trateze rezultatele ca simple indicatii, nu ca garantii contractuale.

Licență

Acest proiect și datele sale sunt puse la dispoziție sub Licența Apache 2.0 (Apache-2.0).

Utilizarea comercială, modificarea și redistribuirea sunt permise.

Contribuțiile sunt binevenite și apreciate.

Marcă înregistrată

PageviewsOnline, Two-Dot-Oh, și orice logo-uri asociate, nume de servicii sau branding sunt mărci comerciale ale Two-Dot-Oh.

Acest proiect este open source; cu toate acestea, utilizarea numelui PageviewsOnline sau a oricărei mărci asociate în legătură cu un produs, serviciu sau ofertă nu este permisă fără consimțământ scris prealabil.

Forkuri și opere derivate trebuie să folosească un nume diferit și o identitate de brand diferită și nu trebuie să sugereze susținere din partea PageviewsOnline sau afiliere cu PageviewsOnline sau Two-Dot-Oh.