免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4175 | 回复: 4
打印 上一主题 下一主题

使用 AnyEvent::HTTP 抓取网页 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-29 12:21 |只看该作者 |倒序浏览
这是用 AnyEvent::HTTP 抓取网页的一个示例。
我对 AnyEvent 不熟悉,希望有 大侠 能指点指点,谢谢!
  1. #!/usr/bin/perl

  2. use 5.014;

  3. use AnyEvent;
  4. use AnyEvent::HTTP;

  5. use IO::File;

  6. my $file = IO::File->new('test.csv');

  7. my $cv = AnyEvent->condvar;

  8. my $task = 0;

  9. my $w; $w = AnyEvent->timer(
  10.         after         => 0,
  11.         interval => 0.001,
  12.         cb                 => sub {
  13.                 my $url = $file->getline;
  14.                 chomp $url;
  15.                 if ($url) {
  16.                         $task += 1;
  17.                         $cv->begin;
  18.                         http_get $url, sub {
  19.                                 my ($body, $header) = @_;
  20.                                 say $header->{Status};
  21.                                 $task -= 1;
  22.                                 $cv->end;
  23.                         };
  24.                 } else {
  25.                         $cv->send unless $task;
  26.                 }
  27.         }
  28. );

  29. $cv->recv;
复制代码
AnyEvent 的确要比 POE 容易上手

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2011-11-29 12:33 |只看该作者
POE 是框架,AnyEvent 只是个事件驱动。

成千上万行的代码,POE 可以组织得了,AnyEvent 就不行了。

论坛徽章:
0
3 [报告]
发表于 2011-11-29 12:41 |只看该作者
感觉 POE 很复杂啊,想做点小事情得花不少功夫

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2011-11-29 12:56 |只看该作者
还行吧,就你这件事情,用 POE 做也不会复杂到哪里去。

论坛徽章:
0
5 [报告]
发表于 2011-11-29 13:16 |只看该作者
版主指点指点,用 POE 怎么弄比较好?给个大体框架就行

谢谢谢谢!



版主对 POE 的传播好像停滞了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP