我一直在嘗試制作一個 perl 程式,它可以從更新網站( https://www.vizugy.hu/?mapModule=OpGrafikon&AllomasVOA=73F7E310-985C-11D4-BB62-00508BA24287&mapData=Idosor告訴我河流的水位),但我的程式無法訪問該網站,我完全卡住了,我是初學者。
#!/usr/bin/perl -w
$url = "https://www.vizugy.hu/?mapModule=OpGrafikon&AllomasVOA=73F7E310-985C-11D4-BB62-00508BA24287&mapData=Idosor";
use LWP::Simple;
$site = get($url) or die "The webpage won't load";
if($site =~ /<strong>(\d )<\/strong>/ig){
$waterLevel= $1;
}else{
die "Can't find the water level (Vízállás (cm))";
}
if($site =~ /<strong>(\d .\d .\d . \d .:\d )<\/strong>/){
$date = $1;
}else{
die "Can't find date (Id?pont)";
}
print("The water level in Komarom is $waterLevel cm (Date: $date)\n");
我為一堂課這樣??做,我必須使用 LWP。該網站是匈牙利語的,變數也是如此,但我盡可能多地翻譯。
uj5u.com熱心網友回復:
您的代碼在我的 Linux 命令列中按預期作業。但是在使用此在線 IDE 時,我看到的行為與您完全相同。
LWP::Simple 的問題在于很難除錯出了什么問題。所以我已經替換了你代碼的頂部,所以它使用LWP::UserAgent代替。
#!/usr/bin/perl
# Always use these
use strict;
use warnings;
my $url = "https://www.vizugy.hu/?mapModule=OpGrafikon&AllomasVOA=73F7E310-985C-11D4-BB62-00508BA24287&mapData=Idosor";
use LWP::UserAgent;
print "Make a UA\n";
my $ua = LWP::UserAgent->new;
print "Request\n";
my $resp = $ua->get($url) or die "The webpage won't load";
print "Response\n";
print $resp->code, ': ', $resp->message, "\n";
my $site = $resp->content;
my ($waterLevel, $date);
if ($site =~ /<strong>(\d )<\/strong>/ig) {
$waterLevel= $1;
}else{
die "Can't find the water level (Vízállás (cm))";
}
if ($site =~ /<strong>(\d .\d .\d . \d .:\d )<\/strong>/) {
$date = $1;
}else{
die "Can't find date (Id?pont)";
}
print("The water level in Komarom is $waterLevel cm (Date: $date)\n");
我看到的回應是:
Make a UA
Request
Response
500: Can't connect to www.vizugy.com:433 (Temporary failure in name resolution)
Can't find the water level (Vízállás (cm)) at main.pl line 21
因此,您的在線 IDE 似乎未正確設定以發出 HTTP 請求。您可以聯系所有者(電子郵件地址在他們網站的首頁上),或者您可以將問題報告給您的講師。
uj5u.com熱心網友回復:
請研究以下演示代碼
- 下載網頁
Javascript從塊中提取資料- 處理獲得的資料以輸出
- 形成哈希
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/422448.html標籤:
