Я пытаюсь загрузить веб-страницу;затем проанализируйте это с помощью регулярных выражений;затем получите файлы, обнаруженные регулярным выражением.У меня есть 2 вопроса:
(1) Я использую wget
для загрузки веб-страниц и файлов, используя эту строку
my $webPage = "onePage";
my $result = run <<wget -O $webPage $aSite>>, :out, :err;
, где $webPage
- это выходной файл wget
,Вопрос: любой perl6 эквивалентен wget?Я использовал модуль URI::FetchFile
с сайта perl6;он получает некоторые файлы, но не может получить веб-страницы.
(2) $ webPage, загружаемый wget, иногда имеет некорректные символы UTF-8, что вызывало сбой моей программы.Когда я выполняю
cat onePage
из оболочки, эти искаженные символы UTF-8 отображаются в виде большого двоичного объекта, и эта команда вызывает ту же ошибку, что и моя программа:
cat onePage | perl6 -ne '.say;'
ивывод ошибки из perl6 равен
Malformed UTF-8
in block <unit> at -e line 1
, а на терминале или оболочке один из искаженных символов UTF-8 отображается в виде двоичного объекта, подобного этому:
h�lt
, и если я пытаюсьудалите непечатаемые символы, в результате я пропускаю огромное количество ссылок на файлы:
$tmpLine ~~ s/<-[print]>//; # this causes my program to miss many files
Как лучше всего обрабатывать эти искаженные символы UTF-8 или любые неправильно сформированные юникоды или даже неправильно сформированные контрольные символы