gpt4 book ai didi

javascript - 如何使用 WWW::Mechanize 抓取具有动态表单的站点?

转载 作者:行者123 更新时间:2023-11-29 20:17:56 25 4
gpt4 key购买 nike

我喜欢通过使用 Perl 编写网络爬虫从使用一些 Javascript 并且具有以 .aspx 结尾的 URL 的网站检索和存储 HTML 表的值。

Web site提供一些关于选举结果的数据。

您有一个搜索表单,其中有两个选项作为下拉菜单,Province provlist 和 City/Municipality munlist

  • 您选择省份。网页重新加载到相同的 URL,并更改第二个下拉菜单的可用选项列表,即城市/自治市。
  • 现在您可以选择您的城市/直辖市,点击“搜索”按钮后,一个 HTML 表格将显示结果。

我喜欢检索所有这些表及其结果。

我喜欢用 Perl 来做,但是到目前为止我只写了非常小/简单的脚本。如果您有一些关于我应该如何开始这项任务的一般信息,那将非常有帮助。

  1. 我以前使用过一些 WWW::Mechanize 函数,虽然只是少数。我可以使用 WWW::Mechanize 函数来完成这项工作吗,这些函数是否足够?或者我需要额外的包裹吗?
  2. WWW::Mechanize 的常见问题解答指出它在 Javascript 方面存在一些问题。但是,在我读到的另一篇文章中,可以避免使用此 Javascript。为其中一个下拉菜单调用的 Javascript 函数是否会导致问题?

    <select name="provlist" onchange="javascript:setTimeout('__doPostBack(\'provlist\',\'\')', 0)" id="provlist" tabindex="1">
  3. ASPX框架有多麻烦?

正如我之前所说,我只有一点编写 Perl 爬虫的经验,所以任何信息/提示/等等。非常感谢您提供。

最佳答案

  1. 足够了。
  2. 如果没有 Javascript,表单会降级。使用不同的 provlist 项提交一次表单,例如AGUSAN DEL NORTE,响应页面会有相应的munlist(BUENAVISTA等),表单会设置为第一个列表项,表格将包含第一项的数据。

关于javascript - 如何使用 WWW::Mechanize 抓取具有动态表单的站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com