尝试使用iMacros for Firefox插件来提取链接网址。
以下输入 html代码位于要删除的网站上:链接网址和说明
<div class="subcl">
<a href="http://www.url.com/someurl.html" target="_blank">description</a>
</div>
来自iMacros的所需输出:只是链接网址
http://www.url.com/someurl.html
由于网站上还有其他链接,因此代码中应包含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"
,但我需要该网址。
修改
澄清symbiotech的答案:输入html代码前面是元素<h1>
以及<p>
。所有人都看起来像这样......
<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>
答案 0 :(得分:2)
您需要从href
元素中提取a
,而不是从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