我在64位计算机上使用Windows Perl 5.16.3。
当我使用具有以下URL的Mechanize时
http://www.utsavfashion.in/indowestern
一切正常。
但是,当我尝试使用分页选项时,即
将最后一个字符串更改为indowestern#pg = 2
我无法获得第二页内容。我仍然从第一页获得内容。
请参阅下面的代码段:
my $url = "http://www.utsavfashion.in/indowestern#pg=2";
$m = WWW::Mechanize->new();
$m->get($url);
print "$url\n";
my $c = $m->content;
print "$c\n";
提前感谢您的建议!
答案 0 :(得分:1)
Web浏览器甚至不会将#pg=2
发送到Web服务器。我不知道WWW :: Mechanize是否有,但它不应该。因此,您获得
http://www.utsavfashion.in/indowestern
和
http://www.utsavfashion.in/indowestern#pg=2
不同之处在于提取,它在呈现的中。
当您使用Web浏览器呈现它时,页面中的JavaScript会检查锚点并相应地更新内容。
当您使用print $content
进行渲染时,它看起来非常不同。您没有获得格式良好的文本或JavaScript的效果。
在下载的内容中有处理JavaScript的选项。但是如果你是数据挖掘,那么复制JavaScript所做的事情可能会更有效和可靠,因为如果在下载的文档中找不到数据,它可能只是另一个网页请求来获取数据。