问题标签 [lwp]

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 回答
886 浏览

xml - 当 XML 在对象中时如何使用 XML::Simple?

我有这个代码

现在我想使用XML::Simpleon $response->content

我可以看到他们使用

但是我的 XML 数据不在文件中,而是在 LWP 模块创建的对象中。

我怎样才能用 解析该数据XML::Simple

0 投票
1 回答
554 浏览

perl - perl 使用 LWP 获取网页错误:简单

我有一个正在为学校工作的项目,但我似乎在这里遇到了错误......

我在第 5 行收到“无法在未定义的值上调用方法‘内容’”

0 投票
3 回答
945 浏览

perl - 使用 UserAgent 的 Perl 问题在循环中获取网站

我可以很好地抓取第一张图片,但是内容似乎在其内部循环。不知道我做错了什么。

0 投票
3 回答
1844 浏览

perl - perl lwp 中的 Cookie

我曾经写过一个简单的“爬虫”来用 JAVA 为我下载 http 页面。现在我正在尝试使用 LWP 模块将相同的东西重写为 Perl。

这是我的 Java 代码(工作正常):

p>

这是 Perl 版本:

发布请求正确执行,但我得到另一个(主)网页。好像 cookie 不能正常工作......

任何猜测什么是错的?为什么我从 JAVA 和 perl 程序中得到不同的结果?

0 投票
2 回答
1535 浏览

regex - 使用 Perl LWP::Simple to Process Online 价格查询网站

在我的空闲时间,我一直在尝试通过编写一个脚本来提高我的 perl 能力,该脚本使用 LWP::Simple 来轮询特定网站的产品页面以检查产品的价格(我有点 perl 菜鸟)。该脚本还保留了该项目最后一次价格的非常简单的积压(因为价格经常变化)。

我想知道是否有任何方法可以进一步自动化脚本,这样我就不必将页面的 URL 显式添加到初始哈希中(即保留一组关键术语并在亚马逊上进行搜索查询以查找页面或价格?)。无论如何,我可以做到这一点,而不仅仅是复制亚马逊的搜索 URL 并解析我的关键字?(我知道使用正则表达式处理 HTML 通常是不好的形式,我只是使用它,因为我只需要一小段数据)。

0 投票
2 回答
593 浏览

mysql - HTML::TableExtract:如何运行正确的参数 [查看实时示例]

关于解析器的问题。有没有机会在分隔表格的地方捕获一些分隔符...... paser 脚本运行良好。注意 - 我想将数据存储到 MySQL 数据库中。所以有一些分隔符会很棒 - (逗号,制表符或其他一些 - 制表符分隔值或逗号分隔值是可以使用的方便格式......

(这里的数据来自以下站点: http: //192.68.214.70/km/asps/schulsuche.asp ?q=a&a=20 )

lfd 编号。Schul- nummer Schulname Straße PLZ Ort Telefon Fax Schulart Webseite 1 0401 Mädchenrealschule Marienburg, Abenberg, der Diözese Eichstätt Marienburg 1 91183 Abenberg 09178/509210 Realschulen mrs-marienburg.homepage.t-online.de 2 6581 Volksschule Abenberg (Grundschule) Güssschule。2 91183 Abenberg 09178/215 09178/905060 Volksschulen home.t-online.de/home/vs-abenberg 6 3074 Private Berufsschule zur sonderpäd。Förderung, Förderschwerpunkt Lernen, Abensberg Regensburger Straße 60 93326 Abensberg 09443/709191 09443/709193 Berufsschulen zur sonderpädog。Förderung www.berufsschule-abensberg.de

好吧,我需要将这些行分成至少三列 - 获取第一条记录。

名称:Volksschule Abenberg (Grundschule) 街道:Güssübelstr. 2 邮政编码和城镇:91183 Abenberg 传真和电话:09178/215 09178/905060 学校类型:Volksschulen 网站:home.t-online.de/home/vs-abenberg

或者甚至更好——我已经将邮政编码和城镇分成了两个单独的列!?问:这可能吗?

顺便说一句:见第一条记录:(这里我只显示学校的名字)

1 0401 Mädchenrealschule Marienburg, Abenberg, 6 3074 Private Berufsschule zur sonderpäd。Förderung, Förderschwerpunkt Lernen, 阿本斯贝格

名称中有逗号;这是否使创建创建 csv-fomate 的解析器变得困难?

任何想法如何在 Perl 中做到这一点......如果可能的话,那就太好了!关于这个小问题的许多提示-除此之外,一切都很棒且引人入胜!

顺便说一句 - 如果你愿意 - 我可以添加代码。这里没问题。

0 投票
1 回答
923 浏览

perl - 如何使 LWP 和 HTML::TableExtract 用 Text::CSV 吐出 CSV

我目前正在研究一个小解析器。

我的第一个脚本取得了非常好的结果!这能够运行得很好!它从页面中获取数据:http: //192.68.214.70/km/asps/schulsuche.asp ?q=n&a=20(注意 6142 条记录) - 但请注意 - 数据没有分开,因此随后使用数据有点难。因此我有第二个脚本 - 见下文!

注意 - 朋友们帮助我完成了这两个脚本。我需要介绍自己是一个真正的新手,需要二合一的迁移帮助。所以,你看,我的 Perl 知识并没有那么详细,以至于我能够自己迁移到一个!任何和所有的帮助都会很棒!

第一个脚本:蜘蛛和解析器:它会像这样吐出数据:

但我需要分隔数据:用逗号或类似的东西!

我有第二个脚本。这部分可以做 CSV 格式。我想将它与蜘蛛逻辑结合起来。但首先让我们看一下第一个脚本:具有出色的蜘蛛逻辑。

请参阅适当的代码:

但是由于上面的脚本-不幸的是,我没有照顾分隔符,所以我不得不照顾一种方法,它确实会寻找分隔符。为了得到数据(输出)分离。

因此,通过分离,我能够处理数据 - 并将其存储在 mysql 表中.. 或做其他事情......所以这里 [下面] 是位 - 计算出 csv-formate 注意 - 我想要将下面的代码放入上面的代码中 - 将上述代码的蜘蛛逻辑与以 CSV 格式输出数据的逻辑相结合。在代码中设置的位置问题:我们能否确定这一点以将一个迁移到另一个...!?那太棒了……我希望我能弄清楚我的想法……!?我们是否能够利用这两个部分(/scripts)的好处将它们迁移到一个中?

所以问题是:在脚本中设置 CSV 脚本的位置(上图)

问题是我在第一个脚本中取得了非常好的结果!它从页面中获取数据:http: //192.68.214.70/km/asps/schulsuche.asp ?q=n&a=20 (注意 6142 条记录) - 但请注意 - 数据没有分开......!

我有第二个脚本。这部分可以做 CSV 格式。我想将它与蜘蛛逻辑结合起来。

要插入的零件在哪里?我期待着任何和所有的帮助。

如果我必须更准确 - 请告诉我...

0 投票
1 回答
144 浏览

mysql - 如何将 CSV 格式添加到 LWP::Simple

关于这个 Target-Url 德国学校数据库http://192.68.214.70/km/asps/schulsuche.asp?q=a&a=100&s=1750

这个目标 url 有一个网格(或表格) - 我有一个运行良好的代码 - 但它无法处理网格......

它吐出如下数据......

这很糟糕 - 我需要一个分隔符 - 我怎样才能在结果中加入一些分隔符 - 逗号或制表符......?

这里的代码:

顺便说一句 - 请参阅分隔符的一个示例...:

注意:这源于一个用户,他在这个线程上给了我一些很好的提示。请参阅 HTML::TableExtract:如何运行正确的参数 [查看实时示例]

好吧-我想将这些想法迁移到上面提到的蜘蛛和解析器中。这可能吗..你能给我一些提示如何添加一些代码行 - 以便结果以 csv-formate 吐出......!?

任何和所有的帮助将不胜感激..

更新:根据 muu 的想法太短了......:

更新:我做了一些试验:

martin@suse-linux:~/perl> perl perl_bayern_newstack.pl 不匹配(在正则表达式中;由 <-- HERE in m/^.*?(Treffer )(d+)( - )(d+)( <-- HERE

这里有什么问题......?

0 投票
1 回答
399 浏览

mysql - LWP、HTML::TableExtract 和带有 Text::CSV 的输出 - 如何在此处添加属性?

我有一个解析网站的小解析器 - 有 6150 条记录。但我需要以 CSV 格式保存它。

首先在这里看到目标站点: http: //192.68.214.70/km/asps/schulsuche.asp ?q=a&a=50&s=1750

我需要所有数据 - 在字段中分开

好吧 - 我有一个脚本:我很感兴趣你对此的看法。尚未获得所有领域 - 我需要更多领域!

具有以下输出:

与 || 作为分隔符。

我的问题是我需要更多的字段 - 我需要划分以下内容 - 看一个例子:

如何添加更多字段?这显然必须在此行中完成,不是吗!?

但是怎么做?我尝试了几件事,但我总是得到不好的结果。我到处玩 - 并尝试了另一种解决方案 - 但在这里我有很好的 CSV 数据 - 但不幸的是没有蜘蛛逻辑......

好吧 - 我尝试了另一种解决方案 - 但在这里我有很好的 CSV 数据 - 但不幸的是没有蜘蛛逻辑。

如何在这里添加蜘蛛逻辑!?

好吧,我需要一些帮助——无论是在第一个脚本还是第二个脚本中!

0 投票
2 回答
390 浏览

perl - LWP::Simple - 如何在其中实现循环[带现场演示]

晚上好,亲爱的社区!

我想处理多个网页,有点像网络蜘蛛/爬虫。我有一些东西 - 但现在我需要一些改进的蜘蛛逻辑。见目标网址http://192.68.214.70/km/asps/schulsuche.asp?q=e&a=50

此页面已获得 6000 多个结果!那么我如何得到所有的结果?我使用模块 LWP::simple 并且我需要一些改进的参数,我可以使用这些参数来获取所有 6150 条记录

尝试:这里是前 5 个页面的 URL:

我们可以看到 URL 中的“s”属性从第 1 页的 0 开始,然后每页增加 50。我们可以使用这些信息来创建一个循环:

tadmc(一个非常支持用户)创建了一个很棒的脚本,可以输出 cvs 格式的结果。我已经在代码中构建了这个循环:(注意 - 我想出了点问题!请参阅下面的思考......带有代码片段和错误消息:

有一些问题 - 我犯了一个错误,我猜错误就在这里:

我已经写下了某种双码。我需要省略一部分...这里的这个

在命令行中查看结果:

你怎么看!?期待收到你的回复

顺便说一句 - 查看代码,由 tadmc 创建,没有任何改进的蜘蛛逻辑......这运行非常非常niely - 没有任何问题:它吐出一个很好的格式化 cvs 输出!

注意:上面提到的代码运行良好 - 它会输出 csv 格式的输出。