perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




11.02.2012 / 21:26

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragDateien downloaden
Seitenanfang
Hi,
mit diesem Code hole ich mir eine Textdatei von einer HTML-Seite.

use CGI qw(:all); # CGI forms etc
use LWP::Simple;

$url_liste = ('http://www.nummer.de/cgi-bin/nummer-daten?Aktion=Liste&Dokumenttyp=Beitraege');
$localfile_liste = "/daten/liste.txt";

$dokument_liste = get($url_liste);
unless (defined $dokument_liste) { print "ERROR\n"; exit };

getstore($url_liste, $localfile_liste);


In dieser TXT-Datei stehen Nummern. Diese Nummern brauche ich um sie als Variable in einem Link einzusetzen und damit gezippte Dateien runterzuladen.

Mit diesem Link sollen die gezippten Datei geladen werden:
$url_einzel = ('http://www.nummer.de/cgi-bin/nummer-daten?Aktion=Einzel&Dokumenttyp=Beitraege&Dokumentkennung="hier muss die jeweilige Nummer aus der Text-Datei stehen"');

Wie schaffe ich es, dass mir jede Nummer aus TXT-Datei in den Link übernommen wird? Ich also alle gezippte Dateien in einem Verzeichnis speichern kann?
Am besten wäre es, wenn ich die gezippten Dateien gleich entpacken und den Inhalt in einer TXT-Datei speichern könnte.

Kann mir ja jemand weiterhelfen?

Gruß
Phil

Datum: 11.02.2005-17:50

Beitragre: Dateien downloaden
Seitenanfang
Je nachdem wie die Zahl in der Listendatei vorkommt,
musst du sie daraus extrahieren, durch split, Mustererkennung,
etc..
Die URL kannst du mit der Zahl konkatenieren:

# durch . Operator
my $url_einzel = 'http://...=' . $number;

# durch join
my $url_einzel = join('', 'http://...=', $number);

# durch sprintf %s => String, %d => zahl
my $url_einzel = sprintf("%s%d", $url, $number);

Um zu pruefen ob es Fehler beim Herunterladen der Listendatei gibt,
musst du nicht erst get aufrufen, du kannst auch getstore mit is_success
oder mit is_error pruefen.


#!/usr/bin/perl

use strict;
use warnings;

use LWP::Simple;

my $url_list = 'http://';

my $localfile_list = '/daten/liste.txt';

die "Couldn't get list file!\n"
if is_error get_store($url_list, $localfile_list);

open(FH, '<', $localfile_list) or die $!;
my $line;
while($line = <FH>) {
chomp($line);

my $number = $line =~ /MusterUmDieZahlZuholen/;

# oder mit split
# my $number = (split(/MusterFuerFeldtrennung/, $line))[Feldindex];

my $url_einzel = "http://www.perlunity.de/cgi-bin/system/redir.cgi?http://www.nummer.de/cgi-bin/nummer-daten?Aktion=Einzel&Dokumenttyp=Beitraege&Dokumentkennung=" . $number;

# mach was mit der URL ....
}
close(FH);

Zip-Dateien koennen mit Archive::Zip entpackt werden.

Grusz coax.

Datum: 11.02.2005-22:43

Beitragre: Dateien downloaden
Seitenanfang
Danke syndrom ich habs jetzt hinbekommen.

Datum: 14.02.2005-16:58

-






-
-