我正在尝试检索使用js和数据库加载的页面。装载大约需要2至3分钟。我能够显示它显示的页面"请等待2到3分钟以便加载页面。" 但是在加载页面后无法检索页面。
我已经尝试了以下内容:
1。)在Mechanize中使用mirror method。但是响应内容未被解码。因此该文件是胡言乱语。 (还尝试编写一个类似于镜像方法的方法,它会解码响应内容,但也不起作用。不加载新内容。)
2。)尝试添加请求标头' if-modified-since'。但是时间仍然相同,并且没有提取新内容。
任何指针或建议都会有所帮助。
TIA :)
答案 0 :(得分:0)
它不适用于Mechanize本身,你需要先检查一下 javascript正在对页面进行操作,数据来自何处 从。然后,有两种可能性:
示例:
use WWW::Mechanize::Firefox;
use HTML::TreeBuilder::LibXML;
my $mech = WWW::Mechanize::Firefox->new;
$mech->get('http://example.com/ajax.html');
my $tree = HTML::TreeBuilder::LibXML->new;
$tree->parse($mech->content);
$tree->eof;
my $something = $tree->findvalue('/html/body/div[10]/table');
以上代码未经过测试,但应该可以使用。
享受。