Search code examples
imacros

Imacros loop on multiple url


I am trying to extract a list of hrefs from multiple urls. The A type has always the same class "property_title" should I use pos 1, 2 etc.. or can I just put * position, Extract every href from that page? Also I would like to put every url at the beginning.

Thanks

VERSION BUILD=9030808 RECORDER=FX
TAB T=1
URL GOTO=https://www.tripadvisor.it/Restaurants-g3334498-c13-Acerra_Province_of_Naples_Campania.html
TAG POS=1 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=2 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=3 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=4 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=5 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=6 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=7 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=8 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=9 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=10 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=11 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=12 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=13 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=14 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=15 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=16 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=17 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=18 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=19 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=20 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
URL GOTO=https://www.tripadvisor.it/Restaurants-g3334498-c13-Acerra_Province_of_Naples_Campania.html
 TAG POS=1 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=2 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=3 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=4 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=5 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=6 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=7 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=8 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=9 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=10 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=11 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=12 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=13 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=14 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF 
TAG POS=15 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=16 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=17 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=18 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=19 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
TAG POS=20 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}}

Solution

  • No, wildcards can't help here, you can use either explicitly specified numbers or relative positioning:

    TAG POS=R1 TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
    

    Loop is a good option too:

    TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:property_title&&TXT:* EXTRACT=HREF
    

    Alternatively XPATH or CSS selectors can be used to identify the element unambiguously: TAG command description

    To add current URL to the Extract variable you can use:

    ADD !EXTRACT {{!URLCURRENT}}