@Fox сразу не заметил. Спасибо.
Как распарсить строку с юзер агентом?
-
Есть файл со строками, в котором сохранены
Логин:Пароль:Прокси:Юзер Агент
Соответственно, когда пытаюсь распарсить эту строку, то в переменную записывается только первая часть Юзера агента, тк он разделен (;)Пример:
ЮА - Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Записывается только - Mozilla/5.0 (Windows NT 6.1Теперь вопрос: как распарсить эту строку, чтобы юзер агент записывался полностью
-
@prakash said in Как распарсить строку с юзер агентом?:
Логин:Пароль:Прокси:Юзер Агент
Самое простое регулярным выражением что-то вроде (\S+?):(\S+?):(Mozila[\s\S]+)
-
@prakash said in Как распарсить строку с юзер агентом?:
@usertrue said in
Самое простое регулярным выражением что-то вроде (\S+?):(\S+?):(Mozila[\s\S]+)
А если там не Mozila, а например Opera?А нука найдите мне его xD
-
@prakash said in Как распарсить строку с юзер агентом?:
@usertrue Что найти? Опера ЮА? да ради бога))
Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12 Version/12.16Обычно сначала Mozila идет, по историческим факторам. Но никто вам не мешает усовершенствовать мой пример
-
@usertrue said in Как распарсить строку с юзер агентом?:
(\S+?):(\S+?):(Mozila[\s\S]+)
Вот вариант с Opera
(\S+?):(\S+?):((?:Mozila|Opera)[\s\S]+) -
Или создайте базу, добавьте в нее столбцы Логин:Пароль:Прокси:Юзер Агент и получайте записи из базы, в таком случае регулярка не нужна, достаточно действия парсить строку
-
@prakash said in Как распарсить строку с юзер агентом?:
Записывается только - Mozilla/5.0 (Windows NT 6.1
Так записывается потому что действие Парсить строку видит разделитель ; и записывает всё, что после него в следующую переменную(если таковая указана).
Для обхода этого существует 2 метода.- Использовать разделитель, которого точно нет в ЮА. Например #. После этого использовать действие Парсить строку из раздела Список. Это чуть усложнит скрипт, т.к. на выходе будет не набор переменных, а список. Впрочем, к его элементам тоже можно обратиться в любом действии. Но красивых названий переменных уже не будет.
- Кодировать ЮА в base64 перед записью и раскодировать после парсинга.