私はPerlに比較的慣れていません。テキストのみを抽出して別のファイルに出力したい URL のリストがあります。ここに私のコードのサンプルがあります:
#!/usr/bin/perl -w
use strict;
use locale;
use warnings;
#use diagnostics;
use utf8;
binmode(STDIN, "encoding(utf8)");
binmode(STDOUT, "encoding(utf8)");
binmode(STDERR, "encoding(utf8)");
use LWP::Simple;
use HTML::Parse;
open (CLEANURL, '<:utf8', "clean_keyword_url_5.3.txt") || die ("Cannot open File\n");
open(STORECODE, '>:utf8', "Bstored_keyword_url_5.3.txt") || die ("Cannot open File\n");
my $url2parse;
my @arg = <CLEANURL>;
close (CLEANURL);
foreach my $arg(@arg) {
$url2parse = parse_html(get($arg))->format;
print STORECODE $url2parse;
}
close (STORECODE);
には次のclean_keyword_url_5.3.txt
ようなリンクがあります:
http://www.ladepeche.fr/article/2013/01/31/1548850-aulon-l-activite-est-paralysee.html#xtor=RSS-6
http://tdg.ch/monde/faits-divers/Deux-alpinistes-meurent-dans-une-avalanche-en-Isere/story/10446351
主にフランスまたはスイスの地方紙です。各リンクを個別のフォルダーに出力したいのですが、ファイル ハンドルの配列と の「getstore」メソッドを使用してこれを実行しようとしましたがLWP::Simple
、すべてのリンクでループを作成できません。すべてのファイルを作成しますが、それぞれに 1 つの URL のコンテンツのみを出力します。アレイでの実行に関する情報が見つかりませんLWP::Simple
。誰もがこのモジュールを 1 つまたは 2 つの URL だけで使用しているようです。
また、次のようなハッシュのアイデアもありました。
#!/usr/bin/perl -w
use strict;
use locale;
use warnings;
#use diagnostics;
use utf8;
binmode(STDIN, "encoding(utf8)");
binmode(STDOUT, "encoding(utf8)");
binmode(STDERR, "encoding(utf8)");
use LWP::Simple;
use HTML::Parse;
open (CLEANURL, '<:utf8', "clean_keyword_url_5.3.txt") || die ("Cannot open File\n");
#open(STORECODE, '>:utf8', "Bstored_keyword_url_5.3.html") || die ("Cannot open File\n");
my $url2parse;
my @arg = <CLEANURL>;
close (CLEANURL);
my @filehandles;
my $i;
for ($i = 0; $i<@arg; $i++){
local *FILE;
open (FILE, '>:utf8', "Bstored_keyword_url_5.3.$i.html")|| die;
push (@filehandles, *FILE);
}
foreach my $arg(@arg) {
$url2parse = parse_html(get($arg))->format;
foreach my $file(@filehandles){
my %hash = {key => $file};
$hash{key} .= $val;
print $file "$hash{key}";
}
}
#close (STORECODE);
このコードが機能しないことに気付いたかもしれません。問題は、私がそれについて自分の心を包むことができないということです.
ですので、何かお気づきの点がございましたら大変助かります。ありがとうございました !!!