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



#!/COMMUNITY

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




11.02.2012 / 13: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


Beitragresponse->content () in Datei speichern
Seitenanfang
Hallo,

ich durchsuche den Chembuyersguide (http://www.chembuyersguide.com/)über ein perl-Script nach Produkten.
Dabei gelten folgende Optionen:
1. Search For Similar Matches
2. Search Products
3. Search All Countrys

Ich weiß nicht so recht, ob mein script das macht, was ich möchte, weil es im Moment den Inhalt in dem Kommandofenster ausgibt.

Anstatt mit "print $resp->content()" den Inhalt auszugeben, würde ich gerne den Inhalt als eine html-Datei speichern.
Es wäre super, wenn Ihr mir einen Tipp gibt, wie das geht.

Hier folgt mein Script:


use LWP::UserAgent;

my $text = 'aceton';
my $url = 'http://www.chembuyersguide.com/';
my $ua = LWP::UserAgent->new();

$resp = $ua->post($url,[
'action' => 'search.cfm?searchMode=EXE',
'searchText' => $text,
'searchPrecision' => '1',
'searchScope' => '1',
'searchPrecision' => '2',
'searchScope' => '2',
'CountryID' => '0']);
if ($resp->is_success()) {
print $resp->content(), "\n";
} else {
print "ERROR Code: ", $resp->code(), " Message: ", $resp->message(), "\n";
}

Datum: 04.01.2008-17:03

Beitragre: response->content () in Datei speichern
Seitenanfang
Hallo Edi,

mach aus

if ($resp->is_success()) {
print $resp->content(), "\n";
}

einfach

if ($resp->is_success()) {
my $filename = '/pfad/zur/Ausgabe.datei'; # den Pfad hier natürlich anpassen

# Datei zum Schreiben öffnen. Bei Fehler, abbrechen
open my $fh, '>', $filename or die $!;
print $fh $resp->content(), "\n";
close $fh;
}

Datum: 06.01.2008-11:36

Beitragre: response->content () in Datei speichern
Seitenanfang
Danke für Deinen Tipp, Reneée. Das Speichern hat geklappt, und nach eine Anpassung klappt das Durchsuchen des Chembuyersguides auch.

Nun stehe ich vor folgendem Problem:
Ich möchte mit meinem Perl Script im Browser die URL aufrufen, die das Ergebnis meiner Suche anzeigt. Aber ich weiß nicht, wie man bei Webseiten, die die Methode POST nutzen, an diese URL kommt.


#!perl -w
use strict;
use LWP::UserAgent;

my $suchbegriff = "ethanol";
my $url = 'http://www.chembuyersguide.com/search.cfm?searchMode=EXE';
my $filename = 'chem.html';
my $filepath = 'C:/Perl/ist/';
my $ua = LWP::UserAgent->new();

my $resp = $ua->post($url,[
'searchText' => $suchbegriff,
'searchPrecision' => '1',
'searchScope' => '1',
'CountryID' => '0']); # CountryID = '0' für eine Suche in allen Ländern
if ($resp->is_success()) {

open FILE, '>', $filename or die $!;
print FILE $resp->content(), "\n";
close FILE;
}

my $browser="C:/Program Files/Internet Explorer/iexplore.exe";
if(system($browser, $filepath.$filename)!= 0){
print STDERR "Fehler beim Öffnen des
Browserfensters: $!";
}

Datum: 09.01.2008-11:10

-






-
-