问题标签 [www-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 回答
306 浏览

html - Perl Mechanize 模块会话 cookie 问题

我尝试使用 perl 脚本来自动化与网站的交互。

我使用模块 WWW::Mechanize 来实现我的设计。但是,网站 [https] 显示会话已过期。

谁能帮我解决这个问题。

0 投票
2 回答
2048 浏览

perl - WWW::Mechanize 和宽字符警告

当我尝试使用以下代码下载一些 HTML 文件时:

我收到警告:

有人可以解释我如何修复这个警告吗?

0 投票
3 回答
1065 浏览

perl - 为什么我使用 WWW-Mechanize 的 Perl 脚本会间歇性地失败?

我正在尝试使用 WWW-Mechanize 编写 Perl 脚本。这是我的代码:

问题如下:

  1. 我启动脚本,它完成得很好。
  2. 我重新启动脚本。脚本在“$browser->get()”中失败。

我必须等待一段时间(大约 5 分钟)然后它会再次开始工作。

我正在使用 Linux 并拥有 WWW-Mechanize 1.66 版。

知道可能是什么问题吗?我的计算机或路由器上都没有安装任何防火墙。此外,取消注释“die ...”行并没有帮助,因为它在 get() 调用中停止。我可以尝试升级到最新版本,即 1.71,但我想知道其他人是否使用这个 Perl 模块体验过。

0 投票
1 回答
141 浏览

perl - 如何以简洁的顺序排列 Perl :: Mechanize 的输出(带有变量或名称)

我运行 linux opensuse 11.4。我尝试在 linux 机器上运行这个小程序。

我有一个 URL 列表 - 超过 1000 个 URL - 所以如果我以未排序的方式获得结果可能会出现问题。

我有一个包含 1000 个 URL 的列表,每行一个,保存在一个文件中。我希望上面的脚本打开文件,读取一行,然后检索网站!URL 的存储方式如下:

如何编写脚本,以便以特定名称存储缩略图图像 - 例如,使用域名。否则结果将是一团糟。我需要根据 URLS 识别缩略图。这可能吗?

0 投票
2 回答
709 浏览

perl - 在未命名的表单上使用 www::mechanize 登录,并提交未命名的表单

我想用 perl 登录(稳定)到http://site/signin/index.php 之类的网站。此页面有表单并提交无名称。我怎样才能登录?这是登录的示例代码:

这是我的表格

0 投票
3 回答
5153 浏览

perl - 使用 WWW::Mechanize 通过重定向登录网站

我知道这听起来像是论坛上已经提出的问题,但是我相信我在这里的情况略有不同..

我尝试使用 Perl 登录需要身份验证的网站。我已经意识到完成这项任务最方便的工具是使用 WWW::Mechanize 模块,它很容易填写表格并提交它们。

就我而言,我遇到以下困难:

  1. 似乎没有与我要填写的字段相关的“表格”。相反,这些字段被包装在一个表中<table></table>
  2. 该按钮本身似乎启动了一些我知道 Mechanize 模块不支持的 javascript。但是,只是为了测试该页面的行为,我在 Chrome 浏览器中禁用了 javascript,但我仍然能够单击该按钮并登录到该站点。所以我认为javascript在这里不是必须的。
  3. 我使用以下代码,似乎我输入的详细信息(用户/密码)并不重要,出于某种原因,我总是遵循“成功”场景并收到“登录成功!”:

    /li>

结果,脚本的运行似乎是成功的,但是当我假设我已经登录并尝试从站点获取任何数据时,我看到(在嗅探器中)我被不断转发到“注册”页面.

任何帮助将不胜感激!

提前致谢!

0 投票
3 回答
1982 浏览

perl - WWW::Mechanize 文本字段问题

我正在尝试使用WWW::Mechanizeperl 模块通过 post 方法提交表单。

$field_name一般来说是一个文本字段(虽然在表单中没有明确指定类型),它有一个预设值。

$field_name => $field_value$mech->submit_form任何原因上都不会替换该值,而是$field_value在原始值之后添加到表单中:

如何在要提交的表单中{original_value}替换为?{provided_value}

0 投票
2 回答
550 浏览

perl - Mojo::UserAgent:只获取文本

我怎么能得到相同的结果Mojo::UserAgent
我试过这个,但它不返回相同的:

0 投票
1 回答
1177 浏览

perl - Perl Mechanize - 如何以更少的开销使脚本运行得更快

问题:我有一个包含 2500 个网站的列表,需要获取它们的缩略图。我怎么做?我可以尝试使用 Perl 解析网站。- 机械化将是一件好事。注意:我只需要长尺寸最大为 240 像素的缩略图的结果。目前我有一个缓慢且不返回缩略图的解决方案:如何以更少的开销使脚本运行得更快 - 吐出缩略图

先决条件: addon/mozrepl/模块 WWW::Mechanize::Firefox;模块成像器

第一种方法:这是第一个 Perl 解决方案:

大纲:这将返回给定的选项卡或呈现为 PNG 图像的当前页面。所有参数都是可选的。$tab 默认为当前选项卡。如果给定坐标,则该矩形将被切掉。坐标应该是包含四个常用条目的散列,left,top,width,height。这是特定于 WWW::Mechanize::Firefox 的。

正如我从 perldoc 中了解到的带有坐标的选项,它不是整个页面的调整大小,它只是一个矩形切出它......好吧 WWW::Mechanize::Firefox 负责如何保存屏幕截图。好吧,我忘了提到我只需要将图像作为小缩略图 - 所以我们不必拥有非常非常大的文件......我只需要抓取它们的缩略图截图。我已经在 cpan 上查找了一些缩小 $png 的模块,我发现了 Imager

mecha-module 不关心调整图像大小。这里我们有 CPAN 上的各种图像模块,比如 Imager。Imager - 用于生成 24 位图像的 Perl 扩展:Imager 是用于创建和更改图像的模块。它可以读取和写入各种图像格式,绘制线条和多边形等原始形状,以各种方式将多个图像混合在一起,缩放,裁剪,渲染文本等等。我安装了模块 - 但我没有扩展我的基本方法

我已经尝试过的;这里是:

好吧,这不关心大小:

查看输出命令行:

这是我的来源...查看我在 url 列表中拥有的网站的片段 [示例]。

urls.txt [来源列表]

问题:如何扩展解决方案以确保它不会在超时中停止。并且 - 它只存储小缩略图 注意:再次:我只需要将结果作为长尺寸最大 240 像素的缩略图。作为先决条件,我已经安装了模块成像器

如何以更少的开销使脚本运行得更快 - 吐出缩略图

期待您的来信!问候零

更新:除了非常有趣的 Schwerms 想法之外,我还发现了一个有趣的Monkthread,它谈到了相同的超时:

有没有办法用 WWW::Mechanize::Firefox 指定 Net::Telnet 超时?目前我的互联网连接速度很慢,有时我会出错

也许我必须照顾 mozrepl-Timeout-configuration!?但毕竟:这很奇怪,我不知道超时从何而来。也许它真的是 Firefox 超时,因为它正忙于同步获取一些结果。正如您在跟踪中看到的,WWW::Mechanize::Firefox 每秒(左右)轮询一次以查看 Firefox 是否已获取页面。

如果它真的是 Net::Telnet,那么你将不得不潜入:

** 更新**所以问题是:我在 Perl-Core 中使用了 ** Net::Telnet:**

//@Alexandr Ciornii:谢谢提示!随后我会这样做 :Net::Telnet;但如果它不在核心中,那么我不能这样。@ Daxim: $ corelist Net::Telnet␤␤Net::Telnet 不在 CORE - 这意味着我不能像上面那样去

顺便说一句:就像 Øyvind Skaar 提到的那样:有了这么多的 url,我们不得不期望有些会失败并处理它。例如,我们将失败的那些放在一个数组或哈希中,然后重试 X 次。

0 投票
1 回答
916 浏览

perl - Perl WWW:Mechanize/HTML:TokeParser 和从 href attr 关注/存储 URL

由于此站点上的帮助,我在 Perl 方面取得了一些不错的进展,但我遇到了问题。我正在抓取的页面之一已更改,我现在不知道如何访问它。我想要做的是存储一个链接到我想要访问的每个页面。问题是这些链接位于源代码中的 a href 属性标签内,我不知道如何提取它们。有人可以帮我吗?

我需要的链接是从这个页面的第 316 到 354 行(源代码)http://www.soccerbase.com/teams/home.sd

我需要基本上提取变量的链接以在我的其他脚本中使用。如前所述,我正在使用 WWW::Mechanize 和 HTML::TokeParser,希望其中有一些我可以使用但目前无法弄清楚的方法。提前致谢!