我需要从html页面获取数据,所以我使用LWP来获取页面内容。 我得到的回答是部分的,而不是页面的完整来源。
...
<div style="display:none" id="QUERY" query=""></div>
<div style="display:none" id="COLL" idcoll=""></div>
<div style="display:none" id="BROWSE" field=""></div>
<div id="center"></div>
<div id="loading"></div>
...
使用网络调试器(FIRE BUG)时,我可以看到隐藏的内容:
<div id="center"></div>
<div id="loading"></div>
如何使用Perl获取隐藏数据?
现在让我心烦意乱3天! 谢谢。
答案 0 :(得分:3)
让我们说它是一个JS运行...我怎么能 看到内容?
您可以使用WWW::Mechanize::Firefox
。它似乎支持Javascript。
答案 1 :(得分:2)
如果确实使用Javascript添加了内容,您可以将WWW::Scripter与Javascript或Ajax插件一起使用。
答案 2 :(得分:1)
如果LWP提取的HTML源代码中不存在,则以其他方式添加。可能有Javascript正在运行,或者由于cookie或用户代理字符串,网络服务器为您和LWP提供不同的页面。
答案 3 :(得分:0)
安装Firebug或使用Safari Develop菜单查看正在对服务器执行的AJAX / XHR请求以及POST / GET参数。然后,您可以使用LWP或任何其他HTTP客户端模块来执行此类请求。