2012-04-26 50 views
1

我目前正在嘗試提取腳本類型=「text/html」指向的頁面。例如this CNN link在源行:使用Perl提取腳本類型HTML /文本

<script type="text/html" id="pageTemplate"></script> 

我想下載pageTemplate的內容,並能夠分析結果。我一直在嘗試使用HTML :: TagParser,並且能夠獲取元素pageTemplate,但我無法獲取其內容。

+3

它可能使用[icanhaz.js](http://icanhazjs.com/)或類似的東西,所以腳本被一些模板系統讀取和解釋。 – 2012-04-26 21:27:28

回答

3

由於「pageTemplate」沒有任何內容。據推測,這是因爲它將被用作一些html的存儲空間; 「text/html」類型的腳本實際上並不是做的什麼。也就是說,像這樣的<script>是一個未顯示的DOM元素,可以用於任何目的。

一種可能性:http://ejohn.org/blog/javascript-micro-templating/

看通與CNN頁面,瞭解正在使用的是什麼ID線索相關的JavaScript。

+0

使用FireBug並檢查視頻上方的標題(「學生貸款...」),我可以確定我相信該ID用於何種用途。我的問題是如果我有URL,我可以如何訪問這些信息。 – brendan 2012-04-27 03:55:28

+0

你可以使用LWP :: UserAgent或WWW :: Mechanize;您可能必須先確定請求的確切性質,例如,通過在Firebug中啓用「Net」來啓用頁面加載。可能有涉及的Cookie等。 – delicateLatticeworkFever 2012-04-27 07:21:23