问题标签 [mechanize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1220 浏览

python - 如何使用 mechanize 库执行 HEAD 请求?

我知道如何使用 httplib 进行 HEAD 请求,但我必须为该站点使用 mechanize。

本质上,我需要做的是从标头(文件名)中获取一个值,而无需实际下载文件。

有什么建议我可以如何做到这一点?

0 投票
3 回答
6509 浏览

python - Python的机械化模块错误

我正在使用该mechanize模块从 Python 执行一些 Web 查询。我希望我的程序能够容错并优雅地处理各种错误(错误的 URL、403/404 响应)。但是,我在 mechanize 的文档中找不到它为各种错误引发的错误/异常。

我只是用它来称呼它:

我怎么知道这里可以抛出哪些错误/异常并处理它们?

0 投票
9 回答
15109 浏览

php - 是否有与 Perl 的 WWW::Mechanize 等效的 PHP?

我正在寻找一个功能类似于 Perl 的WWW::Mechanize的库,但适用于 PHP。基本上,它应该允许我使用简单的语法提交 HTTP GET 和 POST 请求,然后解析结果页面并以简单的格式返回所有表单及其字段,以及页面上的所有链接。

我知道 CURL,但它有点太简单了,而且语法很丑(大量的curl_foo($curl_handle, ...)语句

澄清:

我想要比目前的答案更高级的东西。例如,在 Perl 中,您可以执行以下操作:

要使用 HTTP_Client 或 wget 或 CURL 做同样的事情会做很多工作,我必须手动解析页面以查找链接、查找表单 URL、提取所有隐藏字段等等。我要求使用 PHP 解决方案的原因是我没有使用 Perl 的经验,我可能会通过大量工作来构建我需要的东西,但如果我能在 PHP 中完成上述操作会快得多。

0 投票
4 回答
2384 浏览

ruby - 屏幕抓取网页,使用 Mechanize 明智地显示数据页面

我正在尝试筛选一个网页(使用 Mechanize),它以网格页面的方式显示记录。我能够读取第一页中显示的值,但现在需要导航到下一页以读取适当的值。

我能够通过所有链接但是当我尝试这个时: -

原因是 agent.click 期望 URL 作为参数。

有没有一种方法可以在页面显示时读取所有值?如果不是,当 href 是回发而不是 URL 时,我们怎么能有这样的点击操作?

0 投票
4 回答
31457 浏览

python - Python mechanize - “提交”类型的两个按钮

我有一个用python编写的机械化脚本,它填写了一个网络表单,应该点击“创建”按钮。但是有一个问题,表单有两个按钮。一个用于“添加附件”,一个用于“创建”。两者都是“提交”类型,附加按钮是列出的第一个按钮。因此,当我选择论坛并执行 br.submit() 时,它会单击“附加”按钮而不是“创建”。广泛的谷歌搜索对于选择表单中的特定按钮没有任何用处。有谁知道跳过第一个“提交”按钮并单击第二个的任何方法?

0 投票
3 回答
45145 浏览

javascript - 如何使用 Mechanize 处理 JavaScript?

我正在连接到一个网站,正在登录。

该网站将我重定向到新页面,Mechanize 处理所有 cookie 和重定向作业,但是,我无法获得最后一页。我使用了 Firebug 并再次完成了相同的工作,发现我还必须通过 Mechanize 传递两页。

我快速浏览了这些页面,发现有一些 JavaScript 和 HTML 代码但无法理解,因为它看起来不像正常的页面代码。这些页面是做什么用的?他们如何重定向到其他页面?我该怎么做才能通过这些?

0 投票
3 回答
5041 浏览

perl - 我怎样才能阻止 WWW::Mechanize 跟随重定向?

我有一个 Perl 脚本,它使用WWW::Mechanize从文件中读取并在网站上执行一些自动化任务。但是,每次我请求某个页面后,该网站都会使用 302 重定向。我不想被重定向(它重定向到的页面需要很长时间才能响应);我只想遍历文件并一遍又一遍地调用第一个链接。我不知道如何使 WWW::Mechanize 不遵循重定向。有什么建议么?

0 投票
3 回答
2018 浏览

ruby - 使用线程和红宝石机械化安全吗?

有没有人见过很多这样的错误:

何时使用螺纹和机械化?我相对确定这是线程和net/http库之间的一些不良行为,但是对于您在使用 mechanize/nethttp 时想要一次运行的线程上限有什么建议吗?我怎么能捕捉到这种异常,因为rescue Net::HTTPBadResponse它不起作用?

0 投票
1 回答
2359 浏览

ruby - 机械化html抓取问题

所以我正在尝试使用 ruby​​ mechanize 和 hpricot 提取我网站的电子邮件。我试图在我的管理方面的所有页面上进行循环并使用 hpricot.so 解析页面到目前为止一切都很好。然后我得到:

当它解析一堆页面时,它以超时开始,然后打印页面的 html 代码。不明白为什么?我该如何调试呢?似乎机械化可以连续获得超过10页??是否可以??谢谢

end

def extract(page) #puts search.body search=@agent.get( "http://***.com/admin/members.asp?action=search&term=&state_id=&r=500&p=#{page}") doc = Hpricot(search.body)

end

end

puts "starting extacting emails ... "

start =ARGV[0].to_i

h=Harvester.new(186) h.login h.harvest(start)

0 投票
2 回答
2429 浏览

python - 如何使用此页面上的表格使机械化不失败?

上面的代码导致:

我的具体目标是使用登录表单,但我什至无法机械化来识别有任何表单。即使使用我认为是选择任何 形式的最基本方法,也会br.select_form(nr=0)导致相同的回溯。表单的 enctype 是 multipart/form-data 如果有区别的话。

我想这一切都归结为一个两部分的问题:我怎样才能让机械化来处理这个页面,或者如果不可能,在维护 cookie 的同时还有什么方法?

编辑:如下所述,这将重定向到“ https://steamcommunity.com ”。

Mechanize 可以成功检索 HTML,如下代码所示: