Firefox addon 用于简单URL刮取的iOpus iMacros脚本

Firefox addon 用于简单URL刮取的iOpus iMacros脚本,firefox-addon,web-scraping,imacros,Firefox Addon,Web Scraping,Imacros,正在尝试使用iMacros for Firefox插件导出链接url 以下输入html代码位于要删除的网站上:链接url和说明 <div class="subcl"> <a href="http://www.url.com/someurl.html" target="_blank">description</a> </div> 由于网站上还有更多链接,代码中应包含class=“subcl”。也许有一种方法可以实现嵌套结构?如果可能的话,我

正在尝试使用iMacros for Firefox插件导出链接url

以下输入html代码位于要删除的网站上:链接url和说明

<div class="subcl">
    <a href="http://www.url.com/someurl.html" target="_blank">description</a>
</div>
由于网站上还有更多链接,代码中应包含class=“subcl”。也许有一种方法可以实现嵌套结构?如果可能的话,我更喜欢非Javascript代码,因为我自己不在其中编码

以下宏代码不起作用

VERSION BUILD=8300326 RECORDER=FX
TAB T=1

'Open the website
URL GOTO=http://www.url.com/pagetobescraped.html

'Extract the link url on the page
TAG POS=1 TYPE=DIV ATTR=CLASS:subcl* EXTRACT=HREF
宏返回
#EANF#
(到达文件末尾时没有匹配项)。当我将
EXTRACT=HREF
替换为
EXTRACT=TXT
时,它返回
“description”
,但我需要URL


编辑

为了澄清symbiotech的答案:输入的html代码由元素
以及
组成。所有这些看起来都是这样的

<h1>Title of the page</h1><p class="intro"></p>

<div class="subcl">
    <a href="http://www.url.com/someurl.html" target="_blank">description</a>
</div>
页面标题


您需要从
元素中提取
href
,而不是从
div
本身。此外,由于您说页面上还有其他链接,您需要将每个“sublc”
div
作为参考点,因此
POS=R1

TAG POS=1 TYPE=DIV ATTR=CLASS:subcl*
TAG POS=R1 TYPE=A ATTR=TXT:* EXTRACT=HREF
如果需要提取多个链接,请使用“播放循环”按钮:

TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:subcl*
TAG POS=R1 TYPE=A ATTR=TXT:* EXTRACT=HREF
针对您的具体情况编辑: 您需要将自己定位在要提取的元素之上,但位于同一树级别,以便正确使用相对定位。这个空的
p
元素似乎是一个足够好的锚定元素,或者您可以使用
h1
元素,如果它的文本没有太大变化:

TAG POS=1 TYPE=P ATTR=CLASS:intro
TAG POS=R{{!LOOP}} TYPE=A ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=P ATTR=CLASS:intro
TAG POS=R{{!LOOP}} TYPE=A ATTR=TXT:* EXTRACT=HREF

如果相对链接包含在iMacros中,则它似乎不接受将
DIV
作为参考点。是的,您是正确的,相对定位不再适用于包含的标记。请看我的编辑。谢谢,这很有效!这正是我想要的。我已经调整了我的问题以澄清你的答案。关于IOPS,我认为不允许相对定位是违反直觉的。。。但是哦,好吧。
TAG POS=1 TYPE=P ATTR=CLASS:intro
TAG POS=R{{!LOOP}} TYPE=A ATTR=TXT:* EXTRACT=TXT
TAG POS=1 TYPE=P ATTR=CLASS:intro
TAG POS=R{{!LOOP}} TYPE=A ATTR=TXT:* EXTRACT=HREF