Я работаю над разбором пользовательских агентов Android с Python 2.5, и до сих пор мне удалось найти регулярное выражение, которое работает для "большинства" пользовательских агентов Android, которое собирает главную и вспомогательную версии.
(?P<browser>Android) (?P<major_version>\d*).(?P<minor_version>\d*)
Вышеприведенное регулярное выражение работает для приведенного ниже примера:
Mozilla/5.0 (Linux; U; Android 2.2; en-gb; Nexus One Build/FRF50) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Однако я хотел бы также узнать, какой это тип устройства Android.Я вижу общую схему в пользовательских агентах Android для того, где найти имя устройства, используя эту ссылку: http://www.botsvsbrowsers.com/category/6/index.html
В основном это всегда, кажется, после языка, например, "en-gb;"и перед "Build /"
Так как мне изменить свое регулярное выражение, чтобы в приведенном выше примере я мог разобрать "Nexus One".
Другой пример агента пользователя Android будет:
Mozilla/5.0 (Linux; U; Android 2.1; en-us; HTC Legend Build/cupcake) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
В приведенном выше примере я ищу "HTC Legend"