使用 imacros 提取文本

Extracting text with imacros

情况:我发现很难从网站中提取特定文本。

iMacros 网站 (http://wiki.imacros.net/Data_Extraction#Data_Extraction_and_Web_Scraping) 上的模板示例 从iMacros中提取一个变量如下:

TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM

但是在下面的 html 代码中,特定元素 <a href="..." target="_blank">text1</a> 没有要在 ATTR 部分中指定的 class。我专门尝试从下面的示例中提取 text1

//This code is within an html page
<div class="class1">
  <img class="class2" src="...">
  <strong>
    <a href="..." target="_blank">text1</a>
  </strong>
  <br>
  <small>text2</small>
  <small class="class3">
    <br>
    <em>text3:</em>
    <span>
      <a href="..." class="class4">
        <small style="color: #aaa; font-size: 80%">text4</small>
        text5
      </a>
    </span>
    <br>
    <em>text6</em>
    <a href="..." class="class5">text7</a>,
    <a href="..." class="class5">text8</a>
  </small>
</div>

我试过的:

我知道当我使用 "Experimental event recording mode" 录制并单击特定的 text1 时,我得到以下代码:

EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV:nth-of-type(5)>DIV>STRONG>A" BUTTON=0

我测试了 SELECTOR 是否可以像这样在 EXTRACT 代码中工作:

TAG POS=1 TYPE=SPAN SELECTOR="HTML>BODY>DIV:nth-of-type(5)>DIV>STRONG>A" EXTRACT=TXT

但正如您想象的那样,事实并非如此。

问题:有谁知道如何从上述情况中提取 text1

好吧,有几种方法可以提取此文本。例如:

TAG POS=1 TYPE=IMG ATTR=CLASS:"class2"
TAG POS=R1 TYPE=A ATTR=* EXTRACT=TXT

或者如果您使用 'iMacros for Chrome',这里有一个借助选择器的解决方案:

TAG SELECTOR="HTML>BODY>DIV:nth-of-type(5)>DIV>STRONG>A" EXTRACT=TXT