0

我正在使用 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

4

1 回答 1

7

标记后的信息#不发送到服务器。它仅由客户端代码使用;在这种情况下,有一些 JavaScript 根据#字符串的值动态呈现内容。

如果您想查看该信息,则需要使用支持 JavaScript 的 HTTP 客户端。我假设您正在使用类似的东西LWP

WWW::Mechanize::Firefox是远程控制完整网络浏览器的不错选择。它使您可以访问渲染页面的完整 DOM,以便您可以获取动态内容。

于 2013-08-26T18:46:59.090 回答