Страница 1 из 1

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

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

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

Как лучше реализовать extract только нужной мне части?

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

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

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

После этого в переменной $1 будет сохранено нужное число. И я не уверен, почему скобки экранируются дважды, но так написано в их вики.

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

Добавлено: 31.01.2014, 01:35
stupidpeople
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
Я точно делаю что-то не так. Код нерабочий получается.

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

Добавлено: 31.01.2014, 02:35
VIT
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

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

Добавлено: 01.02.2014, 16:08
stupidpeople
Спасибо. И правда сработало. Странно, что мне на форуме по iMacros ездили о сложности процедуры.