【问题标题】:Can't use perl WWW::Mechanize to tick checkboxes不能使用 perl WWW::Mechanize 勾选复选框
【发布时间】:2012-09-30 06:11:17
【问题描述】:

我正在使用 perl WWW::Mechanize 制作网络爬虫。我的问题是我正在抓取的网站使用 javascript 有点过多。我使用凭据登录,然后使用$mech->follow_link(url) 遍历自定义搜索。

问题从这里开始。我登陆到一个页面,我必须从启用 javascript 的下拉列表中选择一个复选框和一个单选按钮。我被困在这一点上。

html部分如下。当我使用$mech->tick('cs-MajorIndustryGroup') 时,出现错误

Can't call method "find_input" on an undefined value

【问题讨论】:

  • 使用大量 JS 进行抓取 - 也许WWW::Mechanize::Firefox 可以提供帮助! :)
  • 尝试对 JS 请求进行逆向工程,看看它们做了什么,并使用简单的 POST / GET 请求来模仿它们

标签: javascript perl web-scraping mechanize


【解决方案1】:

WWW::Mechanize 不支持 JavaScript。您可以尝试其中一些模块:

更多信息请见WWW::Mechanize::FAQ

【讨论】:

    猜你喜欢
    • 2011-11-28
    • 1970-01-01
    • 2010-12-15
    • 2011-04-16
    • 2013-11-08
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多