curl http://www.hiao.com/node/hiaospace.htm | perl -ne '
s#\.\./#http://www\.hiao\.f
$. < 32; print;'  | piconv -f utf8 -t gbk

2009/11/16 刺猬 <[email protected]>

> 想要抓取某一个网页,然后进行一些替换操作,生成文件后以便其他页面调用。抓取都没有问题,进行写入的时候顺便进行了正则替换和转码, 抓取的内容是
> utf8我要转成gb2312。然后就发现到了页面的某一行后,程序就停止了,怀疑是有特殊字符导致的,不知道应该怎么处理,有没有类似CDATA 之
> 类的方法呢。。
> 贴出代码,也请大家帮忙看看
> use LWP::Simple;
> use Encode;
> open TARGET, ">>target.txt";
> open(NEW,">union2.txt");
> my $url ='http://www.hiao.com/node/hiaospace.htm';
> my $list = get $url;
> $list = encode("gbk", decode("utf8", $list));
> if(!$list){ die "couldn't ger $url"; }
> else{ print NEW $list; }
> open(WE,"union2.txt");
> my $i=1;
> while (<WE>) {
>     $i++;
>     next if $i<32;
>     last if /<\/body>/;
>     $_=~s#\.\./#http://www\.hiao\.com/#;
>     next if (length($_)==1);
>     print    TARGET $_     ;
> }
> print    "\n";
> close(NEW);
> close(WE);
> close(TARGET);
> >
>

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复