นับจำนวนการเข้าชมหน้าเว็บ ไม่ใช่จำนวนผู้คน. การวิเคราะห์เว็บที่ให้ความสำคัญกับความเป็นส่วนตัว จัดเก็บอย่างปลอดภัยใน EU.
เปิดเบต้า
นับจำนวนการเข้าชมหน้าเว็บ ไม่ใช่จำนวนผู้คน. การวิเคราะห์เว็บที่ให้ความสำคัญกับความเป็นส่วนตัว จัดเก็บอย่างปลอดภัยใน EU.

ตารางค้นหาตัวแทนผู้ใช้งานแบบโอเพ่นซอร์ส

ชุดข้อมูลค้นหาตัวระบุผู้ใช้งานแบบโอเพนซอร์สที่มีพฤติกรรมทำนายได้ รองรับ JSON ผ่านการตรวจทานโดยมนุษย์ และออกแบบเพื่อการใช้งานวิเคราะห์เชิงปฏิบัติ
หน้านี้ถูกแปลจากภาษาอังกฤษโดยผู้ฝึกงาน AI ที่กระตือรือร้นมากของเราเพื่อความสะดวกของคุณ พวกเขายังอยู่ระหว่างการเรียนรู้ ดังนั้นอาจมีข้อผิดพลาดเล็กน้อยที่หลุดรอดไป สำหรับข้อมูลที่แม่นยำที่สุด กรุณาดูเวอร์ชันภาษาอังกฤษ.
บ้าน โครงการโอเพนซอร์ส ตารางค้นหาตัวแทนผู้ใช้งานแบบโอเพ่นซอร์ส

คลังข้อมูลนี้มีชุดข้อมูลสตริง User-Agent ที่ผ่านการทำให้เป็นมาตรฐานและคัดสรรแล้ว เก็บไว้ในไฟล์ JSON และออกแบบมาเพื่อใช้เป็นตารางค้นหา เพื่อสกัดข้อมูลผู้ใช้งานแบบง่าย เช่น ไคลเอนต์ User-Agent และระบบปฏิบัติการ.

ถูกนำไปใช้งานเป็นส่วนประกอบของ PageviewsOnline แต่ที่นี่เผยแพร่เพื่อการใช้งานทั่วไป.

ชุดข้อมูลนี้มาพร้อมสคริปต์ช่วยตรวจสอบข้อมูลแบบง่ายๆ และส่งออกไปยังรูปแบบอื่นๆ หรือภาษาโปรแกรมต่างๆ (เช่น Java).

ปรัชญาโครงการ

เป้าหมายของโครงการนี้ไม่ใช่การให้ระบบตรวจจับ user-agent ที่ไร้ข้อผิดพลาดหรืแม่นยำอย่างสมบูรณ์ แต่เป็นวิธีที่ใช้งานได้จริงด้วยความพยายามอย่างดีที่สุดที่สามารถทำได้ ซึ่งจะพัฒนาขึ้นจากการใช้งานจริงและการมีส่วนร่วมของชุมชน

การตรวจหาผู้ใช้งานจากยูเอเจนต์เป็นเรื่องที่ไม่สมบูรณ์ในตัวมันเอง แทนที่จะพยายามให้ถูกต้องแบบสมบูรณ์ โปรเจ็กต์นี้มุ่งเน้นที่การเป็น:

  • ภาคปฏิบัติ
  • ดูแลรักษาได้ง่าย
  • โปร่งใส
  • เพียงพอสำหรับการวิเคราะห์และการจำแนกในโลกจริง

ความแม่นยำจะเพิ่มขึ้นตามเวลา ผ่านการอัปเดตที่คัดสรร, การใช้งานจริง และการมีส่วนร่วมของชุมชน.

การวิเคราะห์เชิงประมาณและนิพจน์ปกติที่ซับซ้อนมักแลกความสามารถในการทำนายที่แน่นอนกับการเพิ่มความแม่นยำที่น้อยนิด.

โครงการนี้ให้ความสำคัญกับ:

  • ความโปร่งใสเหนือเวทมนตร์
  • ข้อมูลที่คัดสรรไว้มากกว่าตรรกะที่ไม่โปร่งใส
  • ผลลัพธ์ที่อธิบายได้มากกว่าการตรวจจับที่เป็นการคาดเดา

คุณสมบัติ

  • ชุดข้อมูล User Agent ที่ผ่านการตรวจสอบโดยมนุษย์และได้มาตรฐาน
  • พฤติกรรมการค้นหาที่เรียบง่ายและคาดเดาได้
  • รูปแบบที่ใช้ JSON ง่ายต่อการตรวจสอบและควบคุมเวอร์ชัน
  • สคริปต์ตรวจสอบน้ำหนักเบา
  • ส่งออกตัวช่วยสำหรับภาษาอื่นๆ (เช่น Java)
  • ใช้งานจริงในสภาพแวดล้อม SaaS สำหรับการผลิต

สตริงตัวแทนผู้ใช้งานที่ได้มาตรฐาน

เป้าหมายหลักของโครงการนี้คือการสกัดข้อมูลเชิงสูงที่มีเสถียรภาพออกจากสตริงของผู้ใช้งาน (user agent) อย่างรวดเร็วและสามารถคาดเดาได้.

เพื่อรองรับสิ่งนี้ สตริงตัวแทนผู้ใช้งานแต่ละรายการจะถูกทำให้เป็นมาตรฐานก่อนการประมวลผล การทำให้เป็นมาตรฐานจะลดความผันผวนที่ไม่เสถียร (เช่น หมายเลขเวอร์ชันและความแตกต่างของตัวพิมพ์) ในขณะที่ยังคงรักษาความหมายในเชิงโครงสร้างและเชิงความหมายของตัวแทนผู้ใช้งาน

สตริงตัวแทนผู้ใช้งานถูกปรับให้เป็นมาตรฐานตามขั้นตอนดังต่อไปนี้:

  • แทนที่ตัวเลขทั้งหมด (0-9) ด้วยตัวอักษรแทนที่ x ซึ่งจะช่วยลดเสียงรบกวนที่เกิดจากการเปลี่ยนเวอร์ชัน ในขณะเดียวกันก็รักษาโครงสร้างและความยาวของโทเคน.
  • แปลงสตริงทั้งหมดให้เป็นตัวพิมพ์เล็ก (User agent tokens) ตามขนบธรรมเนียมจะไม่แยกแยะขนาดตัวอักษร และการทำให้เป็นตัวพิมพ์เล็กจะช่วยให้การค้นหามีความสม่ำเสมอและเชื่อถือได้

ตัวอย่างเช่น สตริงตัวแทนผู้ใช้งานด้านล่างนี้:

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

แนวทาง normalization นี้ช่วยให้ยูสเซอร์เอเจนต์สามารถถูกรวมกลุ่ม เปรียบเทียบ และดูแลรักษาได้ง่ายขึ้นตามกาลเวลา ในขณะที่ยังคงความถูกต้องเพียงพอสำหรับการจำแนกรายละเอียดในระดับสูงของไคลเอนต์และระบบปฏิบัติการ

ด้วยการกำจัดความแปรปรวนที่ขึ้นกับเวอร์ชันและกรณีของตัวอักษร กระบวนการค้นหาจะคาดการณ์ได้มากขึ้นและทนต่อการเปลี่ยนแปลงของ user agent ในอนาคต.

รูปแบบข้อมูล

แต่ละรายการตัวแทนผู้ใช้งานที่ผ่านการทำให้เป็นมาตรฐานประกอบด้วย:

  • id - สตริงตัวแทนผู้ใช้งานที่ผ่านการทำให้เป็นมาตรฐาน
  • client_family - การจำแนกลูกค้าในระดับสูง (เช่น เบราว์เซอร์, บอท, แอป)
  • os_family - การจำแนกประเภทระบบปฏิบัติการระดับสูง

ฟิลด์ที่แน่นอนอาจเปลี่ยนแปลงได้ตามกาลเวลาเมื่อชุดข้อมูลเติบโต

พฤติกรรมการค้นหา

การจับคู่ User agent ถูกดำเนินการกับสตริงที่ผ่านการทำให้เป็นมาตรฐาน.

การจับคู่ที่ตรงกันอย่างแม่นยำเป็นที่ต้องการมากกว่า; การจับคู่แบบบางส่วนหรือแบบเชิง heuristic ถูกหลีกเลี่ยงโดยตั้งใจเพื่อให้พฤติกรรมคาดการณ์ได้และง่ายต่อการดีบัก

การมีส่วนร่วม

การมีส่วนร่วมยินดีมากและช่วยปรับปรุงคุณภาพโดยรวมและความถูกต้องของโครงการนี้

วิธีที่มีผลกระทบสูงสุดในการมีส่วนร่วมคือการเพิ่มหรือปรับปรุงรายการ user agent ที่ผ่านการทำให้เป็นมาตรฐานในไฟล์ user_agents.json พร้อมกับข้อมูลการจำแนกที่เกี่ยวข้อง.

เมื่อการเปลี่ยนแปลงของคุณพร้อมแล้ว กรุณาส่ง pull request ที่ประกอบด้วยข้อมูลที่จำเป็นและ/หรือการอัปเดตโค้ด

แม้ข้อมูลบางส่วนหรือข้อมูลที่ยังไม่ครบถ้วนก็มีประโยชน์และได้รับการชื่นชม — การมีส่วนร่วมทุกครั้งช่วยปรับปรุงความครอบคลุมและความน่าเชื่อถือในระยะยาว.

เริ่มต้นใช้งาน (คู่มือฉบับย่อ)

แกนหลักของโปรเจ็กต์นี้คือชุดข้อมูล JSON ที่อยู่ในไดเรกทอรี data/.

เพื่อช่วยในการบำรุงรักษาและการนำข้อมูลนี้ไปใช้งานซ้ำ ที่เก็บนี้ประกอบด้วยชุดสคริปต์ Node.js ขนาดเล็กที่เรียบง่าย ซึ่งทำการตรวจสอบความถูกต้องพื้นฐานและการส่งออกข้อมูล.

คำสั่งที่ใช้งานทั่วไป:

  • npm run test - ตรวจสอบข้อมูล JSON และหาข้อผิดพลาดด้านโครงสร้างหรือความสอดคล้อง
  • npm run build - สร้าง จัดเรียง และส่งออกข้อมูลที่ผ่านการทำให้เป็นมาตรฐานไปยังรูปแบบของภาษาโปรแกรมอื่นๆ (เช่น Java) เพื่อการบูรณาการที่ง่ายขึ้น.

เครื่องมือเหล่านี้ออกแบบมาให้เรียบง่ายเป็นพิเศษ มุ่งเน้นความถูกต้องของข้อมูลและความสามารถในการพกพา มากกว่าการประมวลผลที่ซับซ้อน

สตริงของ User-Agent ไม่เชื่อถือได้

การสกัดข้อมูลที่ถูกต้องจากสตริงยูสเซอร์เอเจนต์นั้นโดยธรรมชาติแล้วไม่น่าเชื่อถือด้วยเหตุผลหลายประการ:

  • ไม่มีมาตรฐานหรือข้อกำหนดอย่างเป็นทางการใดๆ ที่ควบคุมโครงสร้างหรือเนื้อหาของสตริงผู้ใช้งาน
  • หลายตัวแทนผู้ใช้งานตั้งใจปลอมตัวหรือลอกเลียนแบบตัวแทนผู้ใช้งานอื่นเพื่อความเข้ากันได้และเหตุผลด้านเวอร์ชันที่ล้าสมัย

ด้วยเหตุนี้ การระบุข้อมูล User-Agent ให้แม่นยำและสม่ำเสมออย่างครบถ้วนจึงทำได้ยากมาก.

ดังนั้น ไลบรารีนี้ควรถูกมองว่าเป็นวิธีแก้ปัญหาที่ทำด้วยความพยายามสูงสุดเท่าที่จะเป็นไปได้ ไม่ใช่แหล่งความจริงที่รับประกันได้หรือมีอำนาจ

ด้วยการใช้งานอย่างต่อเนื่องและการมีส่วนร่วมของชุมชน ความแม่นยำจะดีขึ้นตามเวลา

เวอร์ชันและเสถียรภาพ

ชุดข้อมูลอาจมีการเปลี่ยนแปลงตามกาลเวลาเมื่อยูเอเจนต์ของผู้ใช้งานพัฒนา

การจำแนกประเภทไม่ถือเป็นการเปลี่ยนแปลงที่ทำให้โปรแกรมใช้งานไม่ได้ แม้จะอยู่ระหว่างเวอร์ชันย่อย.

ผู้บริโภคควรถือผลลัพธ์เป็นเพียงข้อแนะนำที่ทำด้วยความพยายามสูงสุด ไม่ใช่การรับประกันทางสัญญา

ใบอนุญาต

โครงการนี้และข้อมูลของมันถูกเผยแพร่ภายใต้ Apache License 2.0 (Apache-2.0).

การใช้งานทางการค้า การดัดแปลง และการแจกจ่ายใหม่ได้รับอนุญาต

เรายินดีรับการมีส่วนร่วมและขอบคุณสำหรับการสนับสนุน。

เครื่องหมายการค้า

PageviewsOnline, Two-Dot-Oh, และโลโก้ที่เกี่ยวข้อง, ชื่อบริการ หรือการสร้างตราสินค้าใดๆ เป็นเครื่องหมายการค้าของ Two-Dot-Oh.

โครงการนี้เป็นโอเพ่นซอร์ส อย่างไรก็ตาม การใช้ชื่อ PageviewsOnline หรือแบรนด์ที่เกี่ยวข้องในบริบทของผลิตภัณฑ์ บริการ หรือข้อเสนอใดๆ จะไม่ได้รับอนุญาตเว้นแต่จะได้รับความยินยอมเป็นลายลักษณ์อักษรล่วงหน้า

สำเนาและงานที่ดัดแปลงต้องใช้ชื่อกับตราสินค้าที่แตกต่างกัน และห้ามระบุหรือสื่อถึงการรับรองโดย PageviewsOnline หรือ Two-Dot-Oh หรือความเกี่ยวข้องกับ PageviewsOnline หรือ Two-Dot-Oh