iMacro - Как выполнить одну и ту же задачу на нескольких URL - PullRequest
0 голосов
/ 11 января 2020

Я хочу скачать CSV с Yahoo финансов. Я хочу сделать это для списка из 200 компаний. В tcl я могу настроить процедурную загрузку, однако я не уверен, как это сделать в iMacro. Может ли кто-нибудь помочь?

Мой код iMacro показан ниже для компании AOP-

VERSION BUILD=1005 RECORDER=CR
URL GOTO=https://au.finance.yahoo.com/quote/**AOP**.AX/history?p=**AOP**.AX&.tsrc=fin-srch

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:input ATTR=ID:yfin-usr-qry CONTENT=aop

TAG POS=1 TYPE=SPAN ATTR=TXT:11<SP>Jan<SP>2019<SP>-<SP>11<SP>Jan<SP>2020

TAG POS=1 TYPE=SPAN ATTR=TXT:Max

ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES
TAG POS=2 TYPE=SPAN ATTR=TXT:Download<SP>data

Затем я хочу повторить процесс для компании NCM-

URL GOTO=https://au.finance.yahoo.com/quote/**NCM**.AX/history?p=**NCM**.AX&.tsrc=fin-srch

TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:input ATTR=ID:yfin-usr-qry CONTENT=aop

TAG POS=1 TYPE=SPAN ATTR=TXT:11<SP>Jan<SP>2019<SP>-<SP>11<SP>Jan<SP>2020

TAG POS=1 TYPE=SPAN ATTR=TXT:Max

ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES

TAG POS=2 TYPE=SPAN ATTR=TXT:Download<SP>data

Я надеюсь, что у меня будет один набор кода, на который ссылается переменная балансовой единицы из списка длиной 200 или более.

1 Ответ

0 голосов
/ 11 января 2020

Вы можете сделать это (обратите внимание на %s заполнителей в URL шаблона):

set template {VERSION BUILD=1005 RECORDER=CR
URL GOTO=https://au.finance.yahoo.com/quote/%s.AX/history?p=%s.AX&.tsrc=fin-srch
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:input ATTR=ID:yfin-usr-qry CONTENT=aop
TAG POS=1 TYPE=SPAN ATTR=TXT:11<SP>Jan<SP>2019<SP>-<SP>11<SP>Jan<SP>2020
TAG POS=1 TYPE=SPAN ATTR=TXT:Max
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES
TAG POS=2 TYPE=SPAN ATTR=TXT:Download<SP>data}

set companies {AOP NCM ...}

foreach company $companies {
    set imacro_code [format $template $company $company]
    exec do_something_with $imacro_code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...