2013-10-04 45 views
1
... 
<div class="termContainer"> 
<h4>SUMMER 2013</h4> 
<ul> 
<li> 
<a href="url" title="A"> 
<span>A</span> 
</a></li> 
<li><a href="url" title="B"> 
<span>B</span> 
</a></li> 
<li><a href="url" title="C"> 
<span>C</span> 
</a></li> 
</ul> 
</div> 
... 
<div class="termContainer"> 
<h4>SPRING 2013</h4> 
...other links 
</div> 
... 

我寫一個Perl腳本來獲得鏈接的標題裏面解析HTML標題

<div class="termContainer"> 

在HTML代碼中。我的預期結果是A,B,C。

我真的不知道如何處理它。任何建議?

非常感謝。

+1

HTLM :: TreeBuilder作爲:: XPath的 – Suic

回答

4
use HTML::TreeBuilder::XPath; 

my $html = <<EOFHTML; 
... 
<div class="termContainer"> 
<h4>SUMMER 2013</h4> 
<ul> 
<li> 
<a href="url" title="A"> 
<span>A</span> 
</a></li> 
<li><a href="url" title="B"> 
<span>B</span> 
</a></li> 
<li><a href="url" title="C"> 
<span>C</span> 
</a></li> 
</ul> 
</div> 
... 
<div class="termContainer"> 
<h4>SPRING 2013</h4> 
...other links 
</div> 
... 
EOFHTML 

my $tree = HTML::TreeBuilder::XPath->new_from_content($html); 

foreach my $title ($tree->findvalues('//div[@class="termContainer"]//a/@title')) { 
    print $title, "\n"; 
} 
+0

我有這樣的錯誤 '\ DIV [@cl ... ^^^ 無效查詢某處在這裏(我認爲)'。任何想法? – novo

+0

不應該是// // div [@ class =「termContainer」]/a \ @ title'? – mirod

+0

當我將函數更改爲自己的方式時,這是錯誤@mirod'// div [@ class =「termContainer」]/a \ @title ... .............. ................ ^^^ 無效的查詢在這裏(我認爲)' – novo