Http заголовок User-Agent

1

Я пытаюсь получить список браузеров из строк агента User- в заголовке HTTP. Во многих строках информация обозревателя является второй строкой в ​​строке, например:

(compatible;.MSIE.8.0;.Windows.NT.5.1;.Trident/4.0)

Но в некоторых строках нет либо информации обозревателя, либо информация поступает как третья запись, как в следующем:

(Macintosh;.Intel.Mac.OS.X.10_6_1;.U;.so)
(Macintosh;.Intel.Mac.OS.X.10_6_1;.so)

Как подойти к этому? Есть ли что-нибудь в Python для обработки полей заголовка HTTP? Большое спасибо.

  • 2
    Нет смысла или смысла в струнах UA, только безумие :(
  • 0
    так что вы можете оптимизировать только для некоторых браузеров, у вас нет общего подхода
Показать ещё 1 комментарий
Теги:

1 ответ

3

Я написал анализатор User Agent на PHP некоторое время назад, поэтому может быть немного устаревшим, но надеюсь, что это поможет. Я извлек информацию обозревателя, операционную систему и язык, но здесь я буду включать только информацию обозревателя.

Все основные имена браузеров включены в строку UA, но Mozilla в almoust каждый, для Firefox, использует строку Firefox. Поэтому создайте массив с содержимым:

browserList = {'Opera': 'Opera', 
    'Internet Explorer': 'MSIE',
    'Firefox': 'Firefox',
    'Chrome': 'Chrome',
    'Not specified' => ''}

Затем попробуйте сопоставить их в строке UA. Вы можете добавить больше браузеров, если не хотите расширять свою статистику. Что касается номера версии, то в большинстве случаев это происходит сразу после имени браузера. Поэтому попробуйте извлечь первый number- dot- номер сразу после индекса, в котором вы нашли имя браузера.

Ваш посетитель может быть искателем (ботом, как Google), вы можете найти их, сопоставляя их с этим списком:

nuhk, Googlebot, Yammybot, Openbot, Slurp, MSNBot, Ask Jeeves/Teoma, ia_archiver

Надеюсь, что это поможет.

  • 0
    Спасибо, ребята, за ваши ответы и комментарии. Я посмотрю, что можно сделать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню