调整网页观察器的性能



我正在编写一个基本的脚本来监视网页并在发生更改时与之交互。

我用Perl编写,使用curl来获取页面,并使用grep来监视它的变化。

我使用的手表结构如下

my $string = '';
do {
  $string = curl -s --cookie cookie.txt "http://url.com/resource" | grep "thing_that_has_appeared"
  } until ( $string ne '' );

然后将其传递到用于提取信息的字符串中。

当下载为带有 curl 的文件时,页面本身为 16KB。

我在运行此功能时看到巨大的负载,无论是在网络带宽还是处理器使用情况上。

关键是要尽可能密切地观察页面,即在秒或秒的几分之一刻度上,因此可以接受一些合理的负载。我只是想知道我是否做错了,是否有更有效的方式来观看页面?

服务器未发出Last-Modified标头。

有什么

方法可以指示 curl(或可能中断它)在我确认页面没有更改后停止下载页面?

我认为我在这里最需要洞察力。我的太有限了。

编辑:为了回应评论,我包含了循环和指定的时间跨度。

ThisSuitIsBlackNot的回答帮助:

使用 LWP::UserAgent,您可以指定在每下载 N 个字节后调用的回调。如果您找到要查找的内容,则可以中途取消请求。

他还引用了metacpan上与libwww-perl库的Web用户代理相关的页面。

感谢您的投入。再说一次,如果提问的方式不充分,很抱歉。

最新更新