0

私が書いたいくつかのコードに問題があります。これは基本的に私自身の概念実証であり、別の形式を取得するために単語を実行するために使用します (楽しいアイスランド語の活用)。コードでは、単語自体からの URL が複数の結果につながる場合に備えて、if 文が必要でした。そこから関連するリンクを見つけ、そこからコンテンツを取得し、TableExtract を使用して必要なテーブルを取得します。私が何も役に立たないことを除いて。

#!perl



use warnings;
use HTML::TableExtract qw(tree);
use LWP::Simple;




sub saekja{
    $table = $te->first_table_found;
    $table_tree = $table->tree;
    $table_html = $table_tree->as_HTML;
};


sub leidretta{
#Ef að leitin skilar fleirri en einni niðurstöðu
    if ($content =~ /orð fundust./){

    $content =~ m/<li><strong><a href="(.*)">/;

#byrjunin á strengnum fyrir urlið
    $upphaf = "http://bin.arnastofnun.is/";
#skeytir saman strengjunum til að búa til urlið
    $urlid = $upphaf . $1;
    $content = get($urlid);
    $te  = new HTML::TableExtract( depth=>0, count=>0);



}
};
$content = get("http://bin.arnastofnun.is/leit.php?q=Fiskisl%C3%B3%C3%B0");

&leidretta;
&saekja;

私はこれに比較的慣れていないことを認めます (最初の perl をほぼちょうど 1 週間前に書きました)。しかし、私は完全に困惑しており、大量のグーグル検索を行っても何も役に立ちませんでした。

4

1 に答える 1

1

これは、少し前進するのに役立ちます。

#!perl

use utf8;
use warnings;
use HTML::TableExtract qw(tree);
use LWP::Simple;

$content = get("http://bin.arnastofnun.is/leit.php?q=Fiskisl%C3%B3%C3%B0");

if ($content =~ /orð fundust./) {

    $content =~ m/<li><strong><a href="(.*)">/;

    $upphaf = "http://bin.arnastofnun.is/";
    $urlid = $upphaf . $1;
    $content = get($urlid);

    $te  = new HTML::TableExtract(depth=>0, count=>0);

    $te->parse($content);   # this was missing

    $table = $te->first_table_found;
    $table_tree = $table->tree;
    $table_html = $table_tree->as_HTML;

    print $table_html,"\n";
}

あなたは基本的に何も解析しなかったので、HTML::TableExtractには作業するものがありませんでした。use utf8非 ASCII 文字を適切に処理できるように、スクリプトに追加する必要もありました。

于 2011-05-25T19:51:13.297 に答える