【问题标题】:Loop through website and extract all occurrences循环浏览网站并提取所有事件
【发布时间】:2017-01-10 14:16:24
【问题描述】:

我正在尝试通过网站使用 iMacro 并提取文本和网址,它们会出现在特定类的每次出现中

我的 iMacro 如下所示,但它不像我预期的那样工作:

VERSION BUILD=7601105 RECORDER=FX
TAB T=1

URL GOTO=http://www.example.com

SET !LOADCHECK YES

TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:spanclassA&&TXT:* EXTRACT=TXT
TAG POS=R-1 TYPE=A ATTR=class:linkclassAA EXTRACT=HREF

TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:spanclassB&&TXT:* EXTRACT=TXT
TAG POS=R-1 TYPE=A ATTR=class:linkclassBB EXTRACT=HREF

SAVEAS TYPE=EXTRACT FOLDER=* FILE=+{{!NOW:ddmmyyyy}}.csv

它仅提取各自的第一次出现:导出文件仅包含 4 个值。但我需要,并且期望{{!LOOP}},我会在页面上看到所有出现的事件。我如何获得它们?

我什至只是这样尝试:

VERSION BUILD=7601105 RECORDER=FX
TAB T=1

URL GOTO=http://www.example.com

SET !LOADCHECK YES

TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:spanclassA&&TXT:* EXTRACT=TXT

SAVEAS TYPE=EXTRACT FOLDER=* FILE=+{{!NOW:ddmmyyyy}}.csv

但它也只需要第一次出现。

【问题讨论】:

  • 如果你在循环播放这个宏,这样的提取必须正常工作。
  • @Shugar 我是否理解正确:它是否应该加载页面,抓取位置一,然后重新加载页面,抓取位置二,依此类推,加载一页时只抓取一个位置?还是应该只加载一次页面,然后一个一个地遍历所有位置?

标签: loops imacros


【解决方案1】:

我认为最好只加载一次网页,然后一一浏览所有位置。像这样的:

SET myUrl http://www.example.com
SET url EVAL("({{!LOOP}} == 1) ? '{{myUrl}}' : 'javascript: undefined;';")
URL GOTO={{url}}

TAG POS={{!LOOP}} TYPE=SPAN ATTR=CLASS:spanclassA&&TXT:* EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=+{{!NOW:ddmmyyyy}}.csv

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2012-08-24
    • 1970-01-01
    • 2020-03-07
    • 2021-08-11
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多