我正在尝试下载网页;然后用正则表达式进行分析;然后获取正则表达式发现的文件。我有两个问题:
(1)我使用wget
下载网页和文件,使用此行
my $webPage = "onePage";
my $result = run <<wget -O $webPage $aSite>>, :out, :err;
其中$webPage
是wget
的输出文件。问题:任何perl6相当于wget?我使用了perl6网站上的模块URI::FetchFile
;它获取了一些文件,但它无法获取网页。
(2)wget下载的$ webPage有时会出现格式错误的UTF-8字符,导致程序崩溃。当我做的时候
cat onePage
来自shell的,那些格式错误的UTF-8字符显示为blob,并且此命令导致与我的程序相同的错误:
cat onePage | perl6 -ne '.say;'
并且perl6的错误输出是
Malformed UTF-8
in block <unit> at -e line 1
在终端或shell上,其中一个格式错误的UTF-8字符显示为这样的blob:
h�lt
如果我尝试删除非打印字符,那么结果是我错过了大量文件链接:
$tmpLine ~~ s/<-[print]>//; # this causes my program to miss many files
如何最好地处理这些格式错误的UTF-8字符或任何格式错误的unicodes甚至格式错误的控制字符?
答案 0 :(得分:3)
任何perl6等同于wget?
有几个。 HTTP::Agent
现在被认为是最新的,但您也可以使用LWP::Simple
。
如何最好地处理这些格式错误的UTF-8字符或任何格式错误的unicodes甚至格式错误的控制字符?
您可能想尝试UTF8-C8
编码。但是,如果直接从perl6程序获取页面,它可能不是问题。