我正在尝试检索使用 js 和数据库加载的页面。加载大约需要 2 到 3 分钟。我能够获得显示“请等待 2 到 3 分钟以加载页面”的页面。但加载后无法检索页面。
我已经尝试过以下方法:
1.)在机械化中使用镜像方法。但是响应内容没有被解码。因此该文件是乱码。(还尝试编写与镜像方法类似的方法来解码响应内容,但这也不起作用。未加载新内容。)
2.) 尝试添加请求标头“if-modified-since”。但是时间仍然相同,并且没有获取新内容。
任何指示或建议都会很有帮助。
蒂亚:)
它不适用于 Mechanize 本身,您需要首先检查 javascript 对页面做了什么,以及数据来自哪里。然后,2种可能性:
例子 :
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');
上面的代码未经测试,但应该可以工作。
享受。