Синхронизация строки HTTP-User-Agent

Каков наилучший метод для синтаксического анализа строки User-Agent в Python для надежного обнаружения

  • Браузер
  • Версия браузера
  • OS

Или, может быть, любая вспомогательная библиотека, которая делает это

Ответ 1

Отвечая на мой собственный вопрос;)

Наконец, я решил пойти по предложению №1, то есть написать свой собственный. И я доволен результатом. Пожалуйста, не стесняйтесь использовать/изменить/отправить мне патч и т.д.

Здесь → http://pypi.python.org/pypi/httpagentparser

Ответ 2

UASparser для Python by Hicro Kee. Автоматический обновленный файл данных и кеш с удаленного сервера с проверкой версий.

Ответ 4

Запустив эти предложения против полного состава пользовательских агентов Firefox, я обнаружил, что синтаксический анализ версии для сравнения довольно плох,

Если это то, что вам нужно, я предлагаю вам взглянуть на UAparser, который раньше был частью browserscope. Документация здесь.

Ответ 5

Другие ответы на этот вопрос довольно старые. Я считаю, что новый стандарт в анализе агента пользователя браузера - это браузер Parallels user agent parser.

Также удобно использовать те же шаблоны соответствия в многих других языках. Когда-нибудь вам захочется также проанализировать некоторые строки UA в JavaScript, и вам не нужно беспокоиться о непоследовательном анализе.

Ответ 6

Th Browser Cap Parser должен работать. Это может быть немного медленным, хотя..

Ответ 7

Однако, если вы хотите разобрать все это на стороне Python, вы можете использовать файлы XML/INI, предоставленные в http://browsers.garykeith.com/downloads.asp, чтобы сделать поиск агента пользователя. Это тот же файл, который используется в функции php get_browser().