问题标签 [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 投票
1 回答
280 浏览

perl - 通过 URL 进行 Perl Web 导航

我正在尝试浏览此站点http://irl.worldfootball.net/以访问玩家的页面。我希望能够只获取我拥有的玩家名称变量并将它们插入 url 以访问每个玩家各自的页面,但我无法弄清楚。谁能帮我?

正如您从这个链接http://irl.worldfootball.net/spieler_profil/Wayne-Rooney/看到的那样,该网址非常简单,我想要做的是在上面写着 Wayne-Rooney 的地方插入我选择的球员姓名,然后导航到该页面。任何帮助将不胜感激,谢谢!

0 投票
2 回答
203 浏览

perl - 是否可以在 perl Web 应用程序上从客户端计算机发送文件而无需先将其上传到服务器?

到目前为止,我一直在互联网上寻找这个问题,但没有得到任何好的答案,所以这就是问题所在:

我有一个由一小群人使用的 perl Web 应用程序(通过他们在 Windows 计算机上的 Web 浏览器访问,大约 100 个用户),在 Intranet 上(这个应用程序在 RedHat Apache 服务器上),这个应用程序获取用户的输入和使用WWW::Mechanize将所有内容发送到另一个页面(不同的服务器,不应直接使用),处理表单并返回结果(我知道这听起来可能不是最佳的,但它是根据需要完成的),问题这里是我需要用户能够发送一个文件(很可能它将是一个大约 500kB 的图像,或者通过WWW::Mechanize提交的其他表单数据,或者通过带有附件的电子邮件,任何一个选项都一样可接受),我知道如果文件已经在服务器上,可以发送/附加文件,我的问题很简单:

是否可以从客户端计算机发送文件(在浏览器上运行 perl Web 应用程序)而不先将其上传到服务器(将发送它)?

PS这不是那些“给我代码”的问题之一,我不是要任何特定的代码,我只是想知道这是否可以完成(以及是否要知道如何做),或者如果我绝对必须首先将文件上传到运行 perl 应用程序的服务器(我已经有一个脚本)。如果这不可能,那没关系,我只是想确定在发送文件之前是否需要先上传到服务器。

0 投票
2 回答
490 浏览

perl - WWW::Mechanize 忽略 gzip 压缩内容上的基本 href

正如标题所说,WWW::Mechanize 无法识别

如果页面内容被压缩。这是一个例子:

输出:

我在这里错过了什么吗?谢谢

编辑:我刚刚用 LWP::UserAgent 直接测试了它,它没有任何问题:

输出:

这看起来像 WWW::Mechanize 错误?

编辑 2:这是 LWP 或 HTTP::Response 错误,而不是 WWW::Mechanize。LWP 默认不请求 gzip。如果我设置

在上面的示例中,它返回错误的基数

编辑 3: 错误在 parse_head() 的 LWP/UserAgent.pm 中

它使用 gzip 压缩的 HTML 调用 HTML/HeadParser,而 HeadParser 不知道如何处理它。LWP 应该在调用解析子例程之前对内容进行压缩。

0 投票
1 回答
147 浏览

perl - WWW::机械化和迭代

我正在尝试从http://www.soccerbase.com/tournaments/tournament.sd?comp_id=1从第 1184 行到第 1325 行抓取信息,基本上是接下来 7 天即将到来的比赛。我的代码适用于单个实例,但我不知道如何迭代代码,以便它会刮掉所有游戏信息,直到它达到 7 天的游戏价值。我是否可以创建某种循环,直到我点击某个标签或其他东西?到目前为止,这是我的代码,在此先感谢!

0 投票
2 回答
605 浏览

perl - Perl,使用 Mechanize 浏览网页

我有一堆网页,我想浏览一个脚本并获取其中的所有内容。我知道该链接是每个页面上的第 18 个链接。我有以下代码作为测试,只需点击一次链接并进行屏幕抓取:

不幸的是,我试图访问的链接在 href 标记中没有任何内容。查看页面的源链接如下所示:

我相信这是 javascript 并且没有办法 mechanize 可以跟随这个链接。有什么想法可以解决这个问题吗?

0 投票
1 回答
120 浏览

debugging - WWW::Mechanize::Firefox: 调试-尝试在未打开的文件句柄上停止 print()

粉丝

很抱歉这个新手问题,但我在谷歌上找不到我需要知道的东西。我理解 print ,但不明白这个......

在下面看到更多......

嗯 - 这是什么意思?

非常感谢您的耐心。

从头开始:好吧,我运行这个脚本,它是为了做一些网站的截图而写的真正的清单 - 真正的清单要长得多。它包含超过 3500 行和 URL

奇怪的是输出 - 见下文......问题:我应该更改脚本吗

为什么我要使用以下小脚本获取输出:

!/usr/bin/perl

在这里看到压倒性的输出 - 坦率地说,我从来没有想过得到如此有趣的输出..我必须调试整个代码....见下文,

好吧,我已经尝试了很多以消除错误以消除
一些思考:嗯-首先,我认为这不是一个非常严重的错误-我认为我必须对其进行调试,然后它会更好地工作。其次,我首先认为脚本似乎“使机器过载”?现在我对此不太确定:症状确实看起来很奇怪,但我想没有必要得出“机器过载”的结论 第三,我认为必须采取某些步骤来确保问题是完全与 WWW::Mechanize::Firefox 相关吗?这让我明白 Perl 警告的含义以及使用诊断编译指示获得更多解释的想法:你怎么看?

好吧 - 我们需要进行 open()、sysopen() 或 so +cket() 调用,或者调用 FileHandle 包中的构造函数

好吧 - 或者,关闭文件句柄 OUTPUT 上的 print() 也会给出很多答案,告诉我们我们没有使用 autodie,也没有检查 open 的返回值。我必须调试它并确保找到错误发生的位置

很抱歉这个新手问题,但我在谷歌上找不到我需要知道的东西。我理解 print ,但不明白这个......

0 投票
2 回答
263 浏览

regex - WWW::Mechanize::Firefox - 几乎都在那里 - 只剩下一点正则表达式错误

好吧,对我来说,Perl 有时看起来很像 Abracadabra,非常感谢您对我的耐心...

更新; 在 user1269651 和 Bodoin 提供了很好的修复之前有一些错误

查看 bodoins 代码的结果..(请注意,他曾经更改过一次代码 - 我在这里使用了第一个版本... :;

和最新版本的 bodins 代码,一些结果看起来像这样..

好吧,还剩下一些小事情-见上文...我们可以如何处理这些小错误..顺便说一句:将结果存储在文件夹中的想法怎么样。.. /(称为图像左右!?)

更新结束...

这里初始线程开始 - 并给出了想要的大纲:

我需要一些来自网站的缩略图,但我尝试使用 wget - 但这对我不起作用,因为我需要一些渲染功能需要什么:我有一个包含 2,500 个 URL 的列表,每行一个,保存在一个文件中. 然后我想要一个脚本 - 见下文 - 打开文件,读取一行,然后检索网站并将图像保存为小缩略图。

好吧,因为我有一堆网站(2500),所以我必须对结果的命名下定决心。

到目前为止一切顺利,我想我尝试这样的事情

如果我们不再需要它,我们还必须关闭文件处理程序。除此之外,我们可以在打开时使用“或死”。我做到了-见下文!

顺便说一句,我们需要一个好的文件名。因为我有一个巨大的 url 列表,所以我得到一个巨大的输出文件列表。因此我需要有好的文件名。我们可以在节目中反映这些东西和需求吗!?

脚本根本没有启动....

0 投票
1 回答
196 浏览

perl - 存储问题:一切顺利,但脚本存储不在预期位置

好吧,对我来说,Perl 有时看起来很像 Abracadabra,非常感谢您对我的耐心...

更新; joe 让我发布不起作用的完整脚本:这里我们有我在暴民回答后尝试过的代码(见下文)

一直出现严重错误

这是我当前运行的脚本...

这里有五个示例网址......

更新结束;在这里原始的初始线程继续......

我需要一些来自网站的缩略图,但我尝试使用 wget - 但这对我不起作用,因为我需要一些渲染功能需要什么:我有一个包含 2,500 个 URL 的列表,每行一个,保存在一个文件中. 然后我想要一个脚本 - 见下文 - 打开文件,读取一行,然后检索网站并将图像保存为小缩略图。好吧,因为我有一堆网站(2500),所以我必须对结果的命名下定决心。

到目前为止一切顺利,我想我尝试这样的事情

运行一个小脚本并收集/获取结果......我将图像收集为缩略图。到目前为止,一切都很好。

注意:到目前为止一切都很好并且运行良好,直到 - 是的,直到我尝试创建一个特殊选项:我想强制脚本将结果存储在一个文件夹中

好吧,您如何看待将结果存储在一个名为 images 左右的文件夹中的想法!?)这可行吗?这会很有帮助,因为我将结果存储在一个文件夹中。而且很多结果都不会弄乱机器...

我遇到了一些问题。试图做到这一点 - 因此将其存储在一个目录中:

open(my $out, '>', "path/$name") or die $!;我是这样做的。。

注意 -名为 images 的目录位于同一个文件夹中......

我得到结果

0 投票
2 回答
307 浏览

perl - WWW::Mechanize::Firefox 运行良好:一些使脚本更健壮的尝试

朋友们

我有一个很好的脚本,可以用作图像刮板。对于第一次试验和测试,一切顺利。

这是我在针对脚本运行的 urls.txt 中使用的 URL 列表。请注意,这只是一个简短的列表。我需要针对 2500 个 URL 运行,所以如果脚本更健壮一点并且如果某些 URL 不可用或花费太多时间来获取它会继续运行,那就太好了。我认为如果某些 URL 不可用或花费太多时间或阻止 mozrepl 和WWW:Mechanize::Firefox花费太多时间,脚本会遇到一些问题。

您认为我的想法和建议可能是问题的原因吗?如果是这样,我们如何改进脚本并使其更强大、更强大和更健壮,以便它不会过早停止。

期待您的来信。

问候。

但是我想如果它比现在更强大,我会很高兴。

当然,它正在驱动一个真正的浏览器,就像 WWW::Mechanize::Firefox

所以在某个地方它可能有点不稳定,可能比任何其他屏幕抓取解决方案都更不稳定。我收到如下错误...(见下文)

请注意,我还仔细查看了Firefox 故障排除中的调试页面, 其中包含有关各种错误、麻烦和类似问题的提示、技巧和解决方法。

查看结果以及它停止的错误

你有什么建议?我们怎样才能使脚本更健壮一点?怎么弄才不会这么早停?

0 投票
1 回答
5280 浏览

login - 使用 Mechanize 和 Nokogiri 登录网站?

我在使用我们的服务提供商登录表单之一时遇到了一些困难。其他网站运行良好,但由于某种原因我无法通过他们的登录表单。

网站登录是这样的:

我尝试使用与其他网站相同的代码登录,但它不起作用。

我还尝试了其他 SO问题/答案中建议的不同登录方式:

使用这种身份验证方法,我在运行 rake 任务时得到以下输出:

经过仔细检查,上述错误似乎是由于表单启动后立即有一个字段:

我错过了什么吗?如果是这样,是什么?任何指针表示赞赏!