|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
response->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

|
re: 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

|
re: 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

|
|

|

|

|
 |

|

|
|