2012-04-26 52 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