如何使用Mechanize在wigle.net上访问后续结果页面?

时间:2010-08-21 21:11:37

标签: perl mechanize

我有以下使用WWW::MechanizeHTML::TableExtract模块的代码。一切都像魅力一样,除了我无法移动到下一页。我正在尝试从http://www.wigle.net/gps/gps/main获取热点列表。 UserID为natty_a,密码为natty。点击[searching],然后点击Query

我的脚本应该接受坐标和数据并带来该表。它是这样做的,但仅适用于第一页。好像我无法移动到下一页,无法点击Next100 >>按钮。

我尝试了以下解决方案,但无济于事:

$mech_browser->post(
    'https://wigle.net/gps/gps/main/confirmquery/', [
        pagestart => $i,
        Query     => 'Next100 >>'
    ]
)

$mech_browserWWW::Mechanize个实例,i只是要获得的结果数。我使用Live HTTP Headers来查找它。

$mech_browser->click_button(value => 'Next100 >>')

这也不起作用。

2 个答案:

答案 0 :(得分:3)

有一个非常酷的模块WWW::Mechanize::Shell,允许用户以交互方式播放页面,点击各种按钮等。 一旦达到满意的结果,就可以生成一个使用WWW::Mechanize的Perl脚本,该脚本可以精确地执行播放时所执行的操作。

然后剩下的就是编辑生成的脚本中不需要的操作。

我建议你用它来找到你的解决方案。

答案 1 :(得分:0)

我确定你需要:

$mech->submit_form(
    form_number => 1,
    button => "Query",
);

但如果您在第二页上,则form_number应为2(因为第一个表单是“Previous”按钮)。