Firefox addon 用于简单URL刮取的iOpus iMacros脚本
正在尝试使用iMacros for Firefox插件导出链接url 以下输入html代码位于要删除的网站上:链接url和说明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”。也许有一种方法可以实现嵌套结构?如果可能的话,我
<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