2009-09-21 28 views
32

Làm cách nào để phân tích cú pháp chuỗi tác nhân người dùng của bạn? Tôi đang tìm cách để có được:Có cơ sở dữ liệu đại lý người dùng trực tuyến không?

  • Trình duyệt
  • Trình duyệt Version
  • OS
  • OS Version

từ một chuỗi tác nhân người dùng. Ứng dụng của tôi được viết bằng perl và trước đây đã sử dụng HTTP::BrowserDetect. Đó là một chút ngày và không còn được duy trì. (Edit: nó đã được cập nhật.) Tôi không có cách nào gắn liền với việc sử dụng perl để tra cứu thực tế.

Tôi đã đi đến kết luận rằng phân tích cú pháp tự động là nguyên nhân bị mất. Tôi đã nghĩ đến việc viết một ứng dụng kiểu crud để hiển thị cho tôi một danh sách các UA chưa được phân loại và tự giữ chúng cập nhật.

Tài nguyên như vậy đã tồn tại mà tôi có thể khai thác? Thật tuyệt vời nếu tôi có thể thực hiện cuộc gọi HTTP để tra cứu thông tin tác nhân người dùng.

Cảm ơn!

+0

Bạn đang tìm kiếm cho điện thoại di động? Nếu vậy, có deviceatlas.com ... nếu không, bỏ qua :) –

+0

Tôi đã tích hợp rất nhiều Cơ sở dữ liệu trực tuyến trong lớp trừu tượng này, có thể bạn có thể sử dụng nó so sánh chúng https://github.com/ThaDafinser/UserAgentParser #providers – ThaDafinser

Trả lời

19

useragentstring.com có thông tin về trình duyệt và hệ điều hành cho chuỗi tác nhân người dùng của nó. Ngoài ra còn có một hộp 'phân tích' để gửi chuỗi của riêng bạn. Tôi không biết làm thế nào dễ dàng để treo lên để tự động, nhưng nó dường như có loại thông tin bạn muốn.

Update từ gốc viết bài (không muốn ăn cắp upvotes của bạn):

tôi trở này từ tác giả của http://useragentstring.com/:

Tôi có một API đơn giản, nhưng tôi m về việc chiếm rất nhiều trang web của tôi, vì vậy, có thể thay đổi trong tương lai gần. Nếu bạn liên kết đến trang web của tôi, bạn có thể gửi một useragentstring trong một lĩnh vực hình thức hoặc trong querystring với tên 'UAS':

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0

này automaticly sẽ phân tích chuỗi . nếu bạn thêm & gettext = tất cả

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0&getText=all

bạn sẽ nhận được một file văn bản với cặp giá trị quan trọng như agent_type = Trình duyệt; AGENT_NAME = Opera; agent_version = 9,70 ...

+0

Tôi đã gửi một email tới tác giả để xem liệu tôi có thể truy vấn dịch vụ của anh ấy hay tải xuống cơ sở dữ liệu tĩnh. Nó có vẻ như là tốt nhất cho đến nay. –

+0

Trang web này dường như đã biến mất. – leech

+0

Không chứa thông tin về bất kỳ bản phát hành Windows gần đây nào và hiển thị chúng dưới dạng Windows NT. – brablc

4
+1

-1 Điều này không phá vỡ các phiên bản/HĐH và không có kết quả phù hợp cho bất kỳ bản ghi nào trong cơ sở dữ liệu của tôi. –

+0

Bạn đã thử Google Analytics chưa? Nó sẽ không làm bots & nhện không xử lý javascript nhưng bạn sẽ nhận được gần như tất cả người dùng của con người của bạn theo dõi. – Asaph

3

tôi đang tìm kiếm một danh sách có thể tìm kiếm của UA. user-agents.org có thể tìm kiếm được nhưng không có đủ dữ liệu. Tôi đã tìm thấy http://www.botsvsbrowsers.com/. Nó lộn xộn với quảng cáo, nhưng có một thanh tìm kiếm ở phía bên phải chính xác là tôi đang tìm kiếm.

0

Bạn có thể sử dụng http://botopedia.org. Nó cũng cung cấp xác thực IP giúp ngăn chặn giả mạo.

3

Khả năng trình duyệt Dự án

File browscap.ini là một cơ sở dữ liệu cung cấp rất nhiều thông tin chi tiết về các trình duyệt và khả năng của mình, chẳng hạn như tên, phiên bản, hỗ trợ Javascript và vân vân.

browscap.ini, cung cấp nhiều chi tiết về trình duyệt và khả năng của chúng, chẳng hạn như tên, phiên bản, hỗ trợ Javascript và do đó bật.

get_browser mẹ đẻ của PHP() chức năng phân tích tập tin này và cung cấp cho bạn với một bộ hoàn chỉnh các thông tin về chi tiết của mỗi trình duyệt, Nhưng nó đòi hỏi đường dẫn đến tập tin browscap.ini được quy định trong browscap php.ini chỉ thị được gắn cờ là PHP_INI_SYSTEM.

http://browscap.org/

+1

Tôi đã tìm thấy rằng chỉ có phiên bản "lite" của browscap đáng được sử dụng, hai tệp lớn hơn khác bổ sung quá nhiều chi phí. Giải pháp của tôi là bắt đầu với browscap lite .ini, thành công khoảng 95% thời gian và nếu nó không hoạt động (get_browser() trả về "defaultProperties"), sau đó sử dụng dịch vụ api trực tuyến như [whatismybrowser] (https : //github.com/whatismybrowser/api-sample-php-5) – birchy

+0

Đây là giải pháp tốt nhất mà tôi đã thấy cho đến nay. –

0

Vì bạn đăng câu hỏi của bạn, HTTP::BrowserDetect từ đó đã được cập nhật. Sau khi cài đặt, dưới đây là cách bạn có thể sử dụng nó để phân tích một tập tin văn bản của chuỗi user-agent:

cat user_agent_strings.txt | perl -nE 'use HTTP::BrowserDetect; $ua = HTTP::BrowserDetect->new($_); say $ua->browser_string || "unknown";' 
1

Chúng tôi có một cơ sở dữ liệu khổng lồ của đại lý người dùng, bởi phần mềm, Hệ điều hành, Platform, Hardware Type, Loại phần mềm và Ra Động cơ tổ chức:

https://developers.whatismybrowser.com/useragents/explore/

Tất cả các danh sách user agent khác làm một trung bình khá công việc giúp dễ dàng duyệt qua các tác nhân người dùng có liên quan, vì vậy khi tôi xây dựng danh sách này, việc tạo điều này dễ dàng cho người dùng là một trong những ưu tiên chính đằng sau thiết kế của nó.

Bạn cũng có thể đăng ký API miễn phí sẽ cung cấp cho bạn quyền truy cập vào Trình phân tích cú pháp tác nhân người dùng của chúng tôi.

https://developers.whatismybrowser.com/api/

Các vấn đề liên quan