Hallo,
ich habe schon bei google gesucht aber nichts gefunden. Und zwar möchte ich ein kleines Programm schreiben, das einem den Quelltext von einer zuvor angegebenen Seite im Netz auf dem Computer als .txt abspeichert um danach weiterverarbeitet zu werden.
Welche Funktionen brauche ich dafür?
MfG
BeChri
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Mit Linux ginge das so: $ wget -O nickles.txt www.nickles.de
Downloade doch mal wget für Windows und gib C:\dort_gespeichert>wget -O nickles.txt www.nickles.de in einer Konsole ein.
Getestet mit:
D:\temp>wget --version
GNU Wget 1.5.3.1
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Written by Hrvoje Niksic
Das Ganze kannst du dann in ein BAT oder VBS packen etc.etc.
d-oli
Bedeutet das, dass jeder dieses Programm haben muss, dem ich den Code als Batch gebe?
MfG
BeChri
P.S.: Der Befehl ist bei mir etwas anders: wget -O D:\nickles.txt www.nickles.de
Ja. Ev. kannst du die BAT und die EXE zusammenfügen, wie Hausmeister Krause neulich bemerkt hat: http://www.nickles.de/thread_cache/538292182.html#_pc
P.S.: Der Befehl ist bei mir etwas anders: wget -O D:\nickles.txt www.nickles.de
Anders? Der Unterschied ist nur, dass du die nickles.txt Datei nicht ins aktuelle Verzeichnis schreibst.
Gruss
d-oli
Das Zusammenfügen von Batch und EXE brauche ich in dem Fall nicht, da bei mir VB die Batch selbst schreibt.
Egal wie ich es mache (ob zusammenfügen oder neu schreiben lassen), existiert immer noch das Problem, dass die Batch nichts bringt, wenn auf einem anderen PC, der das Programm ausführt, kein WGet installiert ist.
Ist es rechtens, wenn ich wget "heimlich" im Hintergrund beim ersten Start meines Programmes durch selbstgeschriebenes Setup aus den Dateien von WGet, welches ich dann ausführe?
Mit der Frage meine ich einerseits das Installieren im Hintergrund aber mit Hinweis bei der Installation meines Programmes,
andererseits das "umgeschriebene" Setup, also dass die Dateien die vorher im WGet-Setup waren nun in meinem eigenen WGet-Setup drin sind.
MfG
BeChri
P.S.: Ich würde die Benutzer natürlich darüber bei der Installation meines Programmes darauf hinweisen.
Man könnte natürlich auch einfach auf die win32-API nutzen, oder eine Bibliothek die entsprechende Funktionen beinhaltet. Dann brauchts keine externen Programme...
BECHRI: Welche Funktionen brauche ich dafür?
...
Zum Lernen, ja, selber programmieren. Produktiv eher nein, wenn es schon ein Programm gibt, dass alles kann was gefordert ist. Was nicht heissen soll, dass es keine Ausnahmen gibt ...
d-oli
D:\temp>wget --help
GNU Wget 1.5.3.1, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options too.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a `.wgetrc' command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
-a, --append-output=FILE append messages to FILE.
-d, --debug print debug output.
-q, --quiet quiet (no output).
-v, --verbose be verbose (this is the default).
-nv, --non-verbose turn off verboseness, without being quiet.
-i, --input-file=FILE read URL-s from file.
-F, --force-html treat input file as HTML.
Download:
-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits).
-O --output-document=FILE write documents to FILE.
-nc, --no-clobber don't clobber existing files.
-c, --continue restart getting an existing file.
--dot-style=STYLE set retrieval display style.
-N, --timestamping don't retrieve files if older than local.
-S, --server-response print server response.
--spider don't download anything.
-T, --timeout=SECONDS set the read timeout to SECONDS.
-w, --wait=SECONDS wait SECONDS between retrievals.
-Y, --proxy=on/off turn proxy on or off.
-Q, --quota=NUMBER set retrieval quota to NUMBER.
Directories:
-nd --no-directories don't create directories.
-x, --force-directories force creation of directories.
-nH, --no-host-directories don't create host directories.
-P, --directory-prefix=PREFIX save files to PREFIX/...
--cut-dirs=NUMBER ignore NUMBER remote directory components.
HTTP options:
--http-user=USER set http user to USER.
--http-passwd=PASS set http password to PASS.
-C, --cache=on/off (dis)allow server-cached data (normally allowed).
--ignore-length ignore `Content-Length' header field.
--header=STRING insert STRING among the headers.
--proxy-user=USER set USER as proxy username.
--proxy-passwd=PASS set PASS as proxy password.
-s, --save-headers save the HTTP headers to file.
-U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.
FTP options:
--retr-symlinks retrieve FTP symbolic links.
-g, --glob=on/off turn file name globbing on or off.
--passive-ftp use the "passive" transfer mode.
Recursive retrieval:
-r, --recursive recursive web-suck -- use with care!.
-l, --level=NUMBER maximum recursion depth (0 to unlimit).
--delete-after delete downloaded files.
-k, --convert-links convert non-relative links to relative.
-m, --mirror turn on options suitable for mirroring.
-nr, --dont-remove-listing don't remove `.listing' files.
Recursive accept/reject:
-A, --accept=LIST list of accepted extensions.
-R, --reject=LIST list of rejected extensions.
-D, --domains=LIST list of accepted domains.
--exclude-domains=LIST comma-separated list of rejected domains.
-L, --relative follow relative links only.
--follow-ftp follow FTP links from HTML documents.
-H, --span-hosts go to foreign hosts when recursive.
-I, --include-directories=LIST list of allowed directories.
-X, --exclude-directories=LIST list of excluded directories.
-nh, --no-host-lookup don't DNS-lookup hosts.
-np, --no-parent don't ascend to the parent directory.
Mail bug reports and suggestions to <bug-wget@gnu.org>.
???
Produktiv eher nein, wenn es schon ein Programm gibt, dass alles kann was gefordert ist.
Die Anforderungen sind hier bislang allerdings nur sehr unklar formuliert. So weit ich das erkennen soll nicht mehr als eine Datei per HTTP heruntergeladen/gelesen werden...
Okay gut, wenn du meinst.
Aber welche Funktionen der Win32-API soll BeChri denn nun genau verwenden um das zu tun?
Müsste ich auch nachsehen, hab es schon lange nicht mehr gebraucht. Mit Java geht das zugegebenermaßen auch deutlich bequemer. Stream öffnen, lesen und gut :-)
Würde mich allerdings sehr wundern wenn sich im Internet nichts zum Theme VB und Datei-Download finden lassen würde...
... stimmt, da gibt es so einiges ... ;-)
Eben drum. Würde mich von daher wirklich brennend interessieren wonach der Threadstarter gesucht hatte...
ich programmiere ein Tool, was Flashplayer Objekte von Internetseiten downloaden kann. Dazu brauche ich erst eine Funktion, die mir die Seite downloaded (mit wget funzt es auch), danch durchsucht VB den Quelltext und findet die Adresse.
MfG
BeChri
Gerade dann wäre es doch auch praktishcer wenn Du das ganze nicht erst in einer Datei speichern mußt, sondern direkt in einen String lädst um dann darin zu suchen ;-)
Das stimmt natürlich, aber ich mag es lieber wenn es erst in einer Datei gespeichert wird, auch wenn es natürlich unnötig ist.
MfG
BeChri
Wieso das?
auch wenn es natürlich unnötig ist.
Vor allem auch eine vollkommen unnötige Fehlerquelle. Beim Versuch in eine Datei zu schreiben kann es an allen Ecken und Enden krachen...
Gruß
Borlander
keine Ahnung ich mache es eigentlich schon immer so bei größeren Abfragen
Vor allem auch eine vollkommen unnötige Fehlerquelle. Beim Versuch in eine Datei zu schreiben kann es an allen Ecken und Enden krachen...
Ja, das stimmt. Wenn ich mir es recht überlege ändere ich wenn ich vom Urlaub zu Hause bin um. Dann hätte ich auch das lästige Speichern und Einlesen los.
MfG
BeChri