Đếm lượt xem trang, không phải người dùng. Phân tích web ưu tiên quyền riêng tư, được lưu trữ an toàn tại EU.
MỞ BETA
Đếm lượt xem trang, không phải người dùng. Phân tích web ưu tiên quyền riêng tư, được lưu trữ an toàn tại EU.

Bảng Tra Cứu User Agent Mã Nguồn Mở

Tập dữ liệu tra cứu user agent nguồn mở với hành vi có thể dự đoán được. Dựa trên JSON, được xem xét bởi con người, và được thiết kế cho các mục đích phân tích thực tiễn.
Trang này đã được dịch từ tiếng Anh bởi các thực tập sinh AI đầy động lực của chúng tôi để tạo thuận tiện cho bạn. Họ vẫn đang học nên có thể sẽ có một vài lỗi. Để có thông tin chính xác nhất, vui lòng tham khảo phiên bản tiếng Anh.
Trang chủ Các dự án nguồn mở Bảng Tra Cứu User Agent Mã Nguồn Mở

Kho lưu trữ này chứa một tập dữ liệu được chuẩn hóa và tuyển chọn các chuỗi user agent, được lưu dưới dạng các tệp JSON và thiết kế để dùng làm bảng tra cứu nhằm suy ra dữ liệu user agent ở mức đơn giản, chẳng hạn như trình duyệt và hệ điều hành.

Nó được sử dụng như một thành phần của PageviewsOnline, nhưng được công bố ở đây cho mục đích sử dụng chung.

Bộ dữ liệu được bổ sung bởi các script tiện ích đơn giản để xác thực dữ liệu và xuất dữ liệu sang các định dạng khác hoặc ngôn ngữ lập trình khác (như Java).

Triết lý dự án

Mục tiêu của dự án này không nhằm cung cấp một hệ thống nhận diện user-agent hoàn hảo hoặc hoàn toàn chính xác, mà là một giải pháp thực tế, nỗ lực tốt nhất có thể để cải thiện theo thời gian thông qua việc sử dụng thực tế và đóng góp của cộng đồng.

Nhận diện user agent vốn dĩ không hoàn hảo. Thay vì theo đuổi độ chính xác tuyệt đối, dự án này tập trung vào việc:

  • Thực tế
  • Dễ bảo trì
  • Trong suốt
  • Đủ tốt cho phân tích và phân loại trên thực tế

Độ chính xác được cải thiện theo thời gian nhờ các cập nhật có chọn lọc, sử dụng thực tế và đóng góp của cộng đồng.

Phân tích heuristic và các biểu thức chính quy phức tạp thường đổi khả năng dự đoán lấy những cải thiện độ chính xác ở mức biên.

Dự án này ưu tiên:

  • Minh bạch hơn phép thuật
  • Dữ liệu được tuyển chọn thay vì logic mù mờ
  • Kết quả có thể giải thích được, thay vì phát hiện mang tính suy đoán

Tính năng

  • Bộ dữ liệu user agent được chuẩn hóa và rà soát bởi con người
  • Hành vi tra cứu đơn giản và dễ dự đoán
  • Định dạng dựa trên JSON, dễ xem và quản lý phiên bản
  • Các tập lệnh kiểm tra tính hợp lệ nhẹ
  • Xuất các tiện ích cho các ngôn ngữ khác (ví dụ: Java)
  • Đang được sử dụng tích cực trong môi trường SaaS sản xuất

Chuỗi User Agent Đã Chuẩn Hóa

Mục tiêu chính của dự án này là trích xuất thông tin ở mức cao và ổn định từ chuỗi user agent một cách nhanh chóng và có thể dự đoán được.

Để hỗ trợ điều này, mỗi chuỗi user agent được chuẩn hóa trước khi xử lý. Việc chuẩn hóa loại bỏ các biến thể không ổn định (ví dụ như số phiên bản và sự khác biệt về chữ hoa chữ thường) trong khi vẫn bảo toàn ý nghĩa cấu trúc và ngữ nghĩa của user agent.

Các chuỗi tác nhân người dùng được chuẩn hóa bằng các bước sau:

  • Thay thế tất cả các chữ số (0-9) bằng ký tự giữ chỗ là x. Điều này loại bỏ nhiễu do các lần cập nhật phiên bản trong khi vẫn giữ nguyên cấu trúc và độ dài của token.
  • Chuyển toàn bộ chuỗi sang chữ thường. Các token của User agent được quy ước là không phân biệt chữ hoa chữ thường, và việc chuyển sang chữ thường đảm bảo tra cứu nhất quán và đáng tin cậy.

Ví dụ, chuỗi User-Agent dưới đây:

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

Được chuẩn hóa thành:

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

Phương pháp chuẩn hóa này giúp nhóm, so sánh và duy trì các user agent dễ dàng hơn theo thời gian, đồng thời vẫn đủ chính xác cho việc phân loại ở mức cao giữa máy khách và hệ điều hành.

Bằng cách loại bỏ sự biến động liên quan đến phiên bản và chữ hoa chữ thường, quá trình tra cứu trở nên dễ dự đoán hơn và có khả năng thích nghi với những thay đổi của user agent trong tương lai.

Định dạng dữ liệu

Mỗi mục nhập user agent đã được chuẩn hóa bao gồm:

  • id - Chuỗi user agent được chuẩn hóa
  • client_family - Phân loại khách hàng ở mức cao (ví dụ: trình duyệt, bot, ứng dụng)
  • os_family - Phân loại hệ điều hành ở mức tổng quan

Các trường dữ liệu cụ thể có thể thay đổi theo thời gian khi tập dữ liệu được mở rộng.

Hành vi tra cứu

Việc so khớp User agent được thực hiện trên các chuỗi đã được chuẩn hóa.

Khớp chính xác được ưu tiên; việc khớp một phần hoặc theo thuật toán heuristic được cố ý tránh để hành vi trở nên dự đoán được và dễ gỡ lỗi.

Đóng góp

Các đóng góp được chào đón nhiệt tình và giúp cải thiện chất lượng tổng thể cũng như độ chính xác của dự án này.

Cách đóng góp có tác động lớn nhất là thêm hoặc cập nhật các mục user agent được chuẩn hóa trong tệp user_agents.json, cùng với bất kỳ dữ liệu phân loại liên quan.

Khi bạn đã sẵn sàng với các thay đổi, vui lòng gửi một pull request chứa dữ liệu và/hoặc cập nhật mã nguồn cần thiết.

Ngay cả thông tin một phần hoặc chưa đầy đủ cũng hữu ích và được đánh giá cao - mọi đóng góp đều giúp cải thiện phạm vi và độ tin cậy lâu dài.

Bắt đầu (Hướng dẫn nhanh)

Cốt lõi của dự án này là tập hợp các tệp dữ liệu JSON, nằm trong thư mục data/.

Để giúp duy trì và tái sử dụng dữ liệu này, kho lưu trữ bao gồm một bộ tập lệnh Node.js nhỏ và đơn giản để thực hiện các kiểm tra dữ liệu cơ bản và các tác vụ xuất dữ liệu.

Các lệnh thông dụng có sẵn:

  • npm run test - Xác thực dữ liệu JSON và kiểm tra các lỗi về cấu trúc hoặc tính nhất quán.
  • npm run build - Xây dựng, sắp xếp và xuất dữ liệu đã chuẩn hóa sang các định dạng ngôn ngữ lập trình khác (như Java) để tích hợp dễ dàng.

Các công cụ này được thiết kế tối giản có chủ đích, tập trung vào tính đúng đắn của dữ liệu và tính di động giữa các nền tảng thay vì xử lý phức tạp.

Chuỗi User-Agent Không Đáng Tin Cậy

Việc suy ra thông tin chính xác từ chuỗi user-agent về bản chất là không đáng tin cậy vì nhiều lý do:

  • Không có tiêu chuẩn hoặc đặc tả chính thức nào quy định cấu trúc hoặc nội dung của chuỗi user-agent
  • Nhiều user-agents cố ý giả mạo hoặc bắt chước các user-agent khác để đảm bảo tương thích và hỗ trợ các hệ thống cũ

Vì điều này, việc xác định dữ liệu user-agent một cách hoàn toàn chính xác và nhất quán là vô cùng khó khăn.

Do đó, thư viện này nên được coi là một giải pháp tốt nhất có thể, không phải là nguồn sự thật được đảm bảo hoặc có thẩm quyền.

Với việc tiếp tục sử dụng và sự đóng góp của cộng đồng, độ chính xác có thể cải thiện theo thời gian.

Phiên bản hóa & Ổn định

Tập dữ liệu có thể thay đổi theo thời gian khi các trình duyệt người dùng tiến hóa.

Các phân loại không được xem là những thay đổi phá vỡ, kể cả giữa các phiên bản nhỏ.

Người tiêu dùng nên coi kết quả như những gợi ý được nỗ lực tối đa, không phải là các đảm bảo hợp đồng.

Giấy phép

Dự án này và dữ liệu của nó được phát hành dưới Apache License 2.0 (Apache-2.0).

Việc sử dụng cho mục đích thương mại, chỉnh sửa và phân phối lại được cho phép.

Mọi đóng góp đều được hoan nghênh và đánh giá cao.

Nhãn hiệu

PageviewsOnline, Two-Dot-Oh, và bất kỳ logo liên quan, tên dịch vụ hoặc thương hiệu nào khác đều là nhãn hiệu của Two-Dot-Oh.

Dự án này là mã nguồn mở; tuy nhiên, việc sử dụng tên PageviewsOnline hoặc bất kỳ nhãn hiệu liên quan nào gắn với một sản phẩm, dịch vụ hoặc đề nghị nào đó sẽ không được phép nếu không có sự đồng ý bằng văn bản trước.

Các nhánh và tác phẩm phái sinh phải sử dụng một tên và nhận diện thương hiệu khác và không được ngụ ý sự ủng hộ hoặc sự liên kết với PageviewsOnline hoặc Two-Dot-Oh.