我正在使用Perl收集跨越多个页面的项目列表,但是交互式页面通过在页面末尾的#符号后面的值进行列表来列出信息
So http://.......#2
then http://.......#3
等
但是除了第一页之外我无法获得HTML响应。即使我打开浏览器并查看页面源,safari和firefox也只显示页面源中的第一页结果,即使其他页面显示在屏幕上。
可以在
看到此行为的一个示例http://www.amazon.com/Best-Sellers-Books-Science-Fiction-Fantasy/zgbs/books/25/ref=zg_bs_nav_b_1_b#4
答案 0 :(得分:7)
#
标记后的信息未发送到服务器。它仅由客户端代码使用;在这种情况下,有一些JavaScript根据#
字符串的值动态呈现内容。
如果要查看该信息,则需要使用支持JavaScript的HTTP客户端。我假设您正在使用LWP
之类的东西,而不是。{/ p>
WWW::Mechanize::Firefox是远程控制完整网络浏览器的不错选择。它使您可以访问呈现页面的完整DOM,以便获得动态内容。