Как извлечь переменную со страницы

Для тех, кто хочет сделать мир лучше.
Ответить
Сообщение
Автор
Аватара пользователя
stupidpeople
Майор
Майор
Сообщения: 673
Зарегистрирован: 08.11.2012
Благодарил (а): 2 раза
Поблагодарили: 277 раз
Контактная информация:

#1 Сообщение 30.01.2014, 22:54

На странице есть текст "You got XXXX likes for lottery".
Вместо XXX может быть что угодно: число, слово, два слова.

Пример: You got 238 golden rare likes for lottery.

Как лучше реализовать extract только нужной мне части?
Куплю ключи и любые другие ходовые вещи на маркете. Любой опт. Особенно привествуется крупный. Интересны только оптовые цены и желательно частые поставки. В ЛС.

Проголосуйте для безопасности вас и близких http://roi.ru/1518

Замена Dropbox,- Copy!
https://copy.com?r=i2wq3W
15 гб бесплатно. По моей ссылке еще пять. За приглашенных друзей по пять за каждого. (нужно скачать их приложение и подтвердить почту, аналогично, как на Яндекс диске)
Спасибо тем, кто регается. У меня уже более 200 гигабайт пожизненно бесплатно.

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#2 Сообщение 30.01.2014, 23:03

Судя по всему iMacros поддерживает регулярные выражения.
Чтобы извлечь из "You got 238 golden rare likes for lottery" фразу "238 golden rare", можно использовать следующее выражение:
"You got \\([^.]+\\) likes for lottery."

Точка внутри квадратных скобок это именно точка как знак препинания, что гарантирует нам, что мы не выйдем за пределы предложения (такое может быть, если на странице несколько подобных предложений, алгоритм ведь наверняка "жадный"). Возможно, точку нужно экранировать, тогда будет так:
"You got \\([^\.]+\\) likes for lottery."

После этого в переменной $1 будет сохранено нужное число. И я не уверен, почему скобки экранируются дважды, но так написано в их вики.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
stupidpeople
Майор
Майор
Сообщения: 673
Зарегистрирован: 08.11.2012
Благодарил (а): 2 раза
Поблагодарили: 277 раз
Контактная информация:

#3 Сообщение 31.01.2014, 01:35

NiGHt-LEshiY писал(а):"You got \\([^.]+\\) likes for lottery."
Не совсем разобрался как это применить.

Вот пример кода: сначала ищем эту строчку по первым словам. Потом делаем экстракт.

Код: Выделить всё

TAG POS=1 TYPE=H2 ATTR=TXT:You<SP>got* EXTRACT=TXT
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; "You got \\([^.]+\\) likes for lottery")
SET !EXTRACT {{!VAR1}}
SAVEAS TYPE=EXTRACT FOLDER=m:\data FILE=lottery.txt
Я точно делаю что-то не так. Код нерабочий получается.
Куплю ключи и любые другие ходовые вещи на маркете. Любой опт. Особенно привествуется крупный. Интересны только оптовые цены и желательно частые поставки. В ЛС.

Проголосуйте для безопасности вас и близких http://roi.ru/1518

Замена Dropbox,- Copy!
https://copy.com?r=i2wq3W
15 гб бесплатно. По моей ссылке еще пять. За приглашенных друзей по пять за каждого. (нужно скачать их приложение и подтвердить почту, аналогично, как на Яндекс диске)
Спасибо тем, кто регается. У меня уже более 200 гигабайт пожизненно бесплатно.

Аватара пользователя
VIT
Майор
Майор
Сообщения: 831
Зарегистрирован: 15.01.2007
Откуда: ::1
Благодарил (а): 69 раз
Поблагодарили: 451 раз
Контактная информация:

#4 Сообщение 31.01.2014, 02:35

http://wiki.imacros.net/Regular_Expressions
Regular expressions are used by many text editors, utilities, and programming languages - and the iMacros SEARCH command - to search text based on patterns.
http://wiki.imacros.net/SEARCH - там пример есть

попробуй так, (на тесте у меня сработало)

Код: Выделить всё

SEARCH SOURCE=REGEXP:"You got (.+?) likes for lottery" EXTRACT="$1"
SAVEAS TYPE=EXTRACT FOLDER=m:\data FILE=lottery.txt

Аватара пользователя
stupidpeople
Майор
Майор
Сообщения: 673
Зарегистрирован: 08.11.2012
Благодарил (а): 2 раза
Поблагодарили: 277 раз
Контактная информация:

#5 Сообщение 01.02.2014, 16:08

Спасибо. И правда сработало. Странно, что мне на форуме по iMacros ездили о сложности процедуры.
Куплю ключи и любые другие ходовые вещи на маркете. Любой опт. Особенно привествуется крупный. Интересны только оптовые цены и желательно частые поставки. В ЛС.

Проголосуйте для безопасности вас и близких http://roi.ru/1518

Замена Dropbox,- Copy!
https://copy.com?r=i2wq3W
15 гб бесплатно. По моей ссылке еще пять. За приглашенных друзей по пять за каждого. (нужно скачать их приложение и подтвердить почту, аналогично, как на Яндекс диске)
Спасибо тем, кто регается. У меня уже более 200 гигабайт пожизненно бесплатно.

Ответить