Каков наилучший метод для синтаксического анализа строки User-Agent в Python для надежного обнаружения
- Браузер
- Версия браузера
- OS
Или, может быть, любая вспомогательная библиотека, которая делает это
Каков наилучший метод для синтаксического анализа строки User-Agent в Python для надежного обнаружения
Или, может быть, любая вспомогательная библиотека, которая делает это
Отвечая на мой собственный вопрос;)
Наконец, я решил пойти по предложению №1, то есть написать свой собственный. И я доволен результатом. Пожалуйста, не стесняйтесь использовать/изменить/отправить мне патч и т.д.
UASparser для Python by Hicro Kee. Автоматический обновленный файл данных и кеш с удаленного сервера с проверкой версий.
Werkzeug имеет встроенный пользовательский агент.
http://werkzeug.pocoo.org/docs/0.10/utils/#module-werkzeug.useragents
Запустив эти предложения против полного состава пользовательских агентов Firefox, я обнаружил, что синтаксический анализ версии для сравнения довольно плох,
Если это то, что вам нужно, я предлагаю вам взглянуть на UAparser, который раньше был частью browserscope. Документация здесь.
Другие ответы на этот вопрос довольно старые. Я считаю, что новый стандарт в анализе агента пользователя браузера - это браузер Parallels user agent parser.
Также удобно использовать те же шаблоны соответствия в многих других языках. Когда-нибудь вам захочется также проанализировать некоторые строки UA в JavaScript, и вам не нужно беспокоиться о непоследовательном анализе.
Th Browser Cap Parser должен работать. Это может быть немного медленным, хотя..
Однако, если вы хотите разобрать все это на стороне Python, вы можете использовать файлы XML/INI, предоставленные в http://browsers.garykeith.com/downloads.asp, чтобы сделать поиск агента пользователя. Это тот же файл, который используется в функции php get_browser().