Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tiêu đề tác nhân người dùng - chữ viết tắt của lưu trữ mysql

Không có quy tắc nào cho chuỗi Tác nhân người dùng, vì vậy không có cách nào để tạo trình phân tích cú pháp hoàn toàn chính xác và có thể kiểm chứng được trong tương lai. Tuy nhiên, có một mẫu chung:

User-Agent: <engine-string> <engine-string> ...

Trong đó engine-string có dạng:

<agent-name> (<comment>; <comment>; ...)

Mỗi chuỗi động cơ (tôi chỉ gọi nó là theo hiểu biết của tôi, điều đó có thể không đúng) có thể có hoặc không có nhận xét.

Ví dụ:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) ↲
AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e ↲
Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

(Đây là một chuỗi duy nhất, tôi chỉ chia nó thành từng dòng.) Có vẻ như, bất cứ khi nào ai đó thực hiện một nhánh của công cụ trình duyệt, họ chỉ thêm thứ của họ vào cuối. Vì vậy, chúng tôi có một số trình duyệt trừu tượng "Mozilla" (di sản của "Cuộc chiến trình duyệt đầu tiên") cho rằng nó có trên iPhone. Sau đó, chúng ta thấy rằng có một WebKit (nhớ rằng nó đã được sinh ra dưới dạng KHTML cách đây khá lâu). Sau đó, có một số sửa đổi Phiên bản / 6.0, sau đó được sửa đổi thành Mobile / 10A5376e, trở thành Safari / 8536.25, cuối cùng tiết lộ bí mật rằng nó thực sự là một bot Google di động.

Một ví dụ khác:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.4; ↲
InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; ↲
.NET CLR 3.5.30729; .NET CLR 1.1.4322)

Đây là một công cụ duy nhất, nhưng nó có nhiều điều để nói trong ngoặc đơn.

Vì vậy, quan sát chung là:

  • chuỗi công cụ cuối cùng là quan trọng nhất,
  • nhận xét cuối cùng trong dấu ngoặc đơn ít quan trọng hơn.

Có ý nghĩ đó, ý tưởng của tôi sẽ là phân tích chuỗi vào các công cụ này và mã thông báo nhận xét, sau đó từ mỗi phần công cụ loại bỏ các nhận xét bắt đầu từ phần thứ năm. Sau đó, nếu vẫn chưa đủ, hãy loại bỏ các phần công cụ bắt đầu từ phần thứ hai (phần đầu tiên thường là "Mozilla" trừu tượng, nhưng thường có các nhận xét hữu ích; đôi khi nó thực sự là một cái gì đó cụ thể, đặc biệt là đối với trình thu thập dữ liệu web).

Khi phân tích cú pháp, chúng ta cần lưu ý rằng đôi khi có thể có các chuỗi không theo định dạng này. Chúng có thể được lưu vào tệp nhật ký để kiểm tra sau này và sau đó chỉ cần cắt theo độ dài cần thiết để vừa với cơ sở dữ liệu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gán đầu ra của truy vấn BQ cho biến

  2. Xóa tất cả các hàng có dấu thời gian cũ hơn x ngày

  3. Các khái niệm Angular 2 và MySQL

  4. cách chuyển đổi nhiều lớp json lồng nhau sang bảng sql

  5. Chèn hàng loạt SQL dựa trên dữ liệu được lấy từ một bảng khác