Thread IEAutomation und verstrickte Webseite (4 answers)
Opened by esskar at 2007-01-14 11:14

esskar
 2007-01-14 11:14
#73192 #73192
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
moin,

ich muss daten aus einer japanischen webseite parsen.
die ist so seltsam aufgebaut, dass ich mit lwp nicht weiter gekommen bin.
meine idee war, mit CPAN:Win32::IEAutomation erstmal alle seiten runter zu laden und dann offline zu parsen.

hier das script
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
#!/usr/bin/perl

use strict;
use warnings;

use Win32::IEAutomation;

my $ie = Win32::IEAutomation->new( visible => 1 );
$ie->gotoURL("https://www.iryo.pref.tokushima.jp/iryou-kokai/MainMenu");
$ie->getButton('name:', 'submit_find')->Click;

my $frame = $ie->getFrame('name:', 'search_low');
my @links = $frame->getAllLinks();

my @urls = map { $_->linkUrl } @links;

foreach my $url (@urls) {
next unless $url =~ m!^https://www\.iryo\.pref\.tokushima\.jp/iryou\-kokai/SimpleView\?kikan=(\d+)$!;

$ie->gotoURL( $url );
$ie->getFrame('name:', 'sv_low' );

my $filename = "$1.html";
print "FILENAME: $filename\n";

open(F, "> $filename") or die $!;
print F $ie->Content;
close F;
}


2 dinge, die schief laufen:

$ie->getFrame('name:', 'sv_low' );
scheint den frame nicht zu finden, denn die gespeicherte seite enthält das frame-set mit eben diesem sv_low frame (1 von 3 frames in diesem set)

die gespeicherte datei hat ein falsches encoding, d.h. das die Content function alles nach latin-1 umwandelt, was ich aber nicht gebrauchen kann.

sieht jemand meine fehler? kennt jmd ne alternative lösung?

View full thread IEAutomation und verstrickte Webseite