Thread Wie findet das Perlscript meinen Ordner!? (15 answers)
Opened by lin at 2010-09-27 20:31

lin
 2010-09-30 16:30
#141593 #141593
User since
2010-09-26
35 Artikel
BenutzerIn
[default_avatar]
hallo Guest hallo Renee

vielen Dank für eure tolle Hilfe. Das ist klasse.

Ein überragender Support in diesem Forum. Ich bin total begeistert.

Werde das heute Abend gleich ausprobieren u. mich wieder melden.

Bis später!

viele Grüße !!!

lin

PS Ich bau das mal in den Code ein - die Pfade werde ich einbauen!
Werde diese folgende Zeile so einbauen:

Diese
Code: (dl )
my @html_files = File::Find::Rule->file->name( '*.html' )->maxdepth( 1 )->in( $html_dir );

geht rein in den Code. Und dann noch einen Pfad - für die zu erzeugende Datei einbauen...: Die (ser) Pfad muss auch noch rein...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/perl
use strict;
use warnings;

use HTML::TokeParser;

my $file = 'school.html';
my $p = HTML::TokeParser->new($file) or die "Can't open: $!";

my %school;
while (my $tag = $p->get_tag('div', '/html')) {
# first move to the right div that contains the information
last if $tag->[0] eq '/html';
next unless exists $tag->[1]{'id'} and $tag->[1]{'id'} eq 'inhalt_large';

$p->get_tag('h1');
$school{'location'} = $p->get_text('/h1');

while (my $tag = $p->get_tag('div')) {
last if exists $tag->[1]{'id'} and $tag->[1]{'id'} eq 'fusszeile';

# get the school name from the heading
next unless exists $tag->[1]{'class'} and $tag->[1]{'class'} eq 'fm_linkeSpalte';
$p->get_tag('h2');
$school{'name'} = $p->get_text('/h2');

# verify format for school type
$tag = $p->get_tag('span');
unless (exists $tag->[1]{'class'} and $tag->[1]{'class'} eq 'schulart_text') {
warn "unexpected format: parsing stopped";
last;
}
$school{'type'} = $p->get_text('/span');

# verify format for address
$tag = $p->get_tag('p');
unless (exists $tag->[1]{'class'} and $tag->[1]{'class'} eq 'einzel_text') {
warn "unexpected format: parsing stopped";
last;
}
$school{'address'} = clean_address($p->get_text('/p'));

# find the description
$tag = $p->get_tag('p');
$school{'description'} = $p->get_text('/p');
}
}

print qq/$school{'name'}\n/;
print qq/$school{'location'}\n/;
print qq/$school{'type'}\n/;

foreach (@{$school{'address'}}) {
print "$_\n";
}

print qq/\nDescription: $school{'description'}\n/;

sub clean_address {
my $text = shift;
my @lines = split "\n", $text;
foreach (@lines) {
s/^\s+//;
s/\s+$//;
}
return \@lines;
}


Dann ist alles vollständig.

lg lin

Ich werde das Ergebnis des umgebauten - bzw. editierten Codes hier reinstellen. Dann könnt ihr nochmals drübrergucken...
Last edited: 2010-09-30 17:11:53 +0200 (CEST)

View full thread Wie findet das Perlscript meinen Ordner!?