![]() |
HTML Seite auslesen ???
Moin Moin an alle
also ich habe ein kleines problem naja wie immer lach also ich will mein programm einen link zu einer html seite übergeben in der html seite sind weitere links zu bildern nun will ich gerne das bild auf welches der link verweisst speichern wie mache ich das ganze ??? lg, Gigant |
Re: HTML Seite auslesen ???
ok etwas einfacher
wie kann ich überhaupt ein bild aus den internet speichern ??? alsp per delphi oder wie komme ich überhaupt an eine html seite an ??? lg, Gigant |
Re: HTML Seite auslesen ???
Hi Gigant,
hier ein paar Anregungen für deine weiteren Forschungen:
Delphi-Quellcode:
Grüße vom marabu
const
imgFolder = 'c:\daten\images'; function UrlToFileName(url: string): string; var i: integer; begin i := Pos('/', url); while i > 0 do begin Delete(url, 1, i); i := Pos('/', url); end; Result := IncludeTrailingPathDelimiter(imgFolder) + url; end; procedure TWebForm.SaveImgToFile(url, fileName: string); var s: TStream; begin s := TFileStream.Create(fileName, fmCreate); idHTTP.Get(url, s); s.Free; end; procedure TWebForm.ImgButtonClick(Sender: TObject); var doc: IHTMLDocument2; ec: IHTMLElementCollection; img: IHTMLImgElement; i: integer; vi: OleVariant; begin doc := WebBrowser.Document as IHTMLDocument2; ec := doc.images; for i := 0 to ec.length - 1 do begin vi := i; img := ec.item(vi, null) as IHTMLImgElement; SaveImgToFile(img.href, UrlToFileName(img.href)); end; end; |
Re: HTML Seite auslesen ???
danke für danke code
ich bin schon am rumbasteln er sacht nur immer in der zeilte
Delphi-Quellcode:
hinter get unbekanter bezeicher
idHTTP.Get(url, s);
ich habe schon die idhttp komponente auf die form geschoben lg, Gigant |
Re: HTML Seite auslesen ???
Na sowas - wo doch url in meiner Prozedur der erste Parameter ist:
Delphi-Quellcode:
Hast wohl ein bischen zu heftig gebastelt...
procedure TWebForm.SaveImgToFile(url, fileName: string);
marabu |
Re: HTML Seite auslesen ???
lach sorry nee nicht url
ich meine er kennt get nicht blöd geschrieben lg, Gigant |
Re: HTML Seite auslesen ???
Mein Code verwendet übrigens Indy9.
marabu |
Re: HTML Seite auslesen ???
ok das heißt jetzt das ich mir eine neue indy version installieren muss ???
|
Re: HTML Seite auslesen ???
Wieso - welche hast du denn?
|
Re: HTML Seite auslesen ???
hmm gute frage lach (peinlich)
wie bekomme ich das raus ?? ich habe die version die bei delphi 7 standart mäßig dabei ist lg, Gigant |
Re: HTML Seite auslesen ???
version 9 hab ich drauf
|
Re: HTML Seite auslesen ???
HTML ist ein SGML-Derivat, xHTML ist XML und XML ist wiederum auch ein SGML Derivat.
SGML wäre also der kleinste gemeinsame Nenner als Markup... Ich selbst verwende unter .Net eine kleine Library, mit der ich SGML wie XML bearbeiten kann. Vielleicht gibt es sowas auch für Delphi32? Damit könntest du ganz easy alle Links extrahieren ohne solche Viecher wie das SHDocView Control missbrauchen zu müssen. :) Nimmst du den IE, nimmst du augenblicklich Sicherheitslücken in Kauf. Selbst wenn du eigentlich nur Links extrahieren willst. Ich bezweifle, dass man ihn weit genug beschneiden kann, um auf der sicheren Seite zu bleiben... |
Re: HTML Seite auslesen ???
Hi Gigant,
kannst du das Rätsel auflösen, wie du mit Indy9 meinen Code nicht zum Laufen bringst? Besorgte Grüße vom marabu |
Re: HTML Seite auslesen ???
nee irgendwie nicht
also ich hier läuft nix ich habe nochmal bei null angefangen und nur deinen reinen code genommen aber nüx läuft nicht, gleicher fehler lg, Gigant |
Re: HTML Seite auslesen ???
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwo hast du bestimmt gigantisch gepatzt. Habe jetzt auch mal meinen eigenen code getestet (
![]() marabu |
Re: HTML Seite auslesen ???
nun gut habe gerade probiert
nun mäckert er unter uses rum er kennt die EmbeddedWB nicht oder findet er nicht hmm ok ich habe nur professional lg, gigant |
Re: HTML Seite auslesen ???
hmm ok jetzt geht ich habe sie einfach rausgeworfen
wofür ist denn EmbeddedWB wichtig ?? lg, Gigant |
Re: HTML Seite auslesen ???
Das mit EbeddedWB ist eine ungeheuerliche Schlamperei - von mir. Habe EmbeddedWebBrowser gegen WebBrowser ausgetauscht und vergessen die unit zu entfernen.
Scheint ja jetzt zu laufen - oder? marabu |
Re: HTML Seite auslesen ???
ja läuft wunderbest
nochmal besten dank marabu lg, Gigant |
Re: HTML Seite auslesen ???
Eigentlich finde ich die Komponente "httpget" viel einfacher (wenn der Link bekannt ist)
Quelle: ![]() |
Re: HTML Seite auslesen ???
hmm kannte ich noch nicht
ich schaue da einfach mal rein lg, gigant |
Re: HTML Seite auslesen ???
Da ich auch grad ein ähnliches Programm baue, hab ich den Code mal ausprobiert, aber folgendes funktioniert nicht (Fehlermeldung Unknown Identifier):
Delphi-Quellcode:
und WebBrowser ist auch unbekannt. Brauch ich da irgendwelche speziellen Units? Oder gibts die in Delphi 7 Personal einfach nicht? Und wenns die nicht gibt, wie könnte ich das sonst bauen? Hab Indy 10, Jvcl und HTTPGet. :gruebel:
var
doc: IHTMLDocument2; ec: IHTMLElementCollection; img: IHTMLImgElement; Ich hoffe ihr könnt mir helfen. |
Re: HTML Seite auslesen ???
Ich hatte mal 6 Personal drauf, waren auch keine Internetkompos dabei, schätze mal bei Dir auch, oder hast Du in Deiner Werkzeugleiste nen Reiter: Internet oder / und FastNet? wohl nicht.
Wenns nur um das Saugen von Bildern geht, ist HttpGet doch ne gute Wahl... |
Re: HTML Seite auslesen ???
Hi Sko,
wenn dein D6PE die Schnittstellen nicht kennt, dann musst du wohl noch die Unit MSHTML einbinden. Wenn diese Unit bei dir nicht existiert, dann kannst du sie mit TLIBIMP erzeugen. Die Komponente WebBrowser steckt in der Unit SHDOCVW und wird in der Palette im Abschnitt Internet angezeigt. Alternativ kannst du dir den ![]() Grüße vom marabu |
Re: HTML Seite auslesen ???
Zitat:
Zitat:
Zitat:
|
Re: HTML Seite auslesen ???
mhh... da steht das EmbeddedWB für Delphi 4, 5 und 6 ist. Gibts sowas auch für Delphi 7?
|
Re: HTML Seite auslesen ???
Es sind nur ein oder zwei Änderungen, die du machen musst. Ich glaube es waren die Versionskonstanten in den conditional defines. Eventuell noch die Aufnahme der unit Variants. Die Hinweise beim compile step sollten eindeutig sein. Das Thema EmbeddedWebBrowser für D7 sollte auch hier im Forum schon öfters angeschnitten worden sein.
marabu |
Re: HTML Seite auslesen ???
Ok, danke ich werds mal suchen und mir ansehen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz