所以我想创建一个网络蜘蛛。我遇到一个网站,它有一些javascript,我想欺骗浏览器,让它认为一个事件已经被触发,它必须调用相应的javascript代码来处理这个事件。我如何在Perl中做到这一点呢?使用WWW::Mechanize或WWW::Scripter::Plugin::Javascript?
同时,如果有人能提供一个如何使用WWW::Scripter::Plugin::Javascript的例子,那将是非常感激的。
提前感谢。如果有人有更好的表达方式请继续编辑
在正常的浏览器设置中,JavaScript在浏览器中,而不是在服务器上。它是执行JavaScript的客户端。
这意味着你需要手动弄清楚JavaScript代码是做什么的,并在Perl中编码,或者你需要加载一个JavaScript引擎。
以下是三个JavaScript引擎:- WWW:机械化:Firefox
- Win32::即::机械化
- WWW: JavaScript脚本::插件::
使用WWW::Mechanize
和Live Http报头,我做了一个Live Http重播。
从重播,我复制了标题(即Connection: keep-alive to $agent->add_header( "Connection" => "keep-alive");
),然后将Post内容复制到我的$content = '..
则$agent->post( $url_of_the_site, Content => $content);
这可以在aspx网站上点击类似2的链接。
我使用这段代码作为指导http://pastie.org/1728196/wrap