Also ich hab ein Problem: Ich muss bei meinem Ferialpraktikum in der Wiener Börse ein Programm schreiben, das Elemente aus der Website von der Wiener Börse ausließt: Aktienkurs, Datum und so weiter. Ich schaffe es zwar den Quellcode der Website auszulesen, nur ich bekomme es nicht hin einzelne Werte auszulesen und in dem Programm als Variablen zu speichern und zu verwenden.
Ich würde mich sehr über Antworten freuen und natürlich auch für eine Lösung 😉
Mit freundlichen Grüßen
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Musst das HTML parsen und die entsptrechenden Daten extrahieren. Auf codeplex gibts nen HTML Agility Pack welches nen recht netten HTML Parser enthält. Könnte eventuell nützlich sein da ja leider weniger Seiten xhtml konform sind als man gern hätte.
Hatte vor kurzem ne ähnliche Aufgabe wo ich Glück hatte, dass die gesuchten Tags schön per class Attribut gekennzeichnet waren und so per XPath vom oben genannten Parser extrahiert werden konnten und man dann leicht per Regex aus diesen Tags die Infos extrahieren konnte.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hallo,
hier mal zwei links die dir helfen sollten:
Hier einmal etwas zur Theorie von Regulären Ausdrücken
http://de.wikipedia.org/wiki/Regex
und hier wie man es in .NET anwedet.
Ich hoffe das hilft =)
Liebe Grüße
Matthias
Also den von talla vorgeschlagenen Weg kann ich nur wärmstens empfehlen. Wenn du ohne externe Libraries auskommen musst/möchtest kannst du auch IHTMLDocument von MS benutzen (IHTMLDocument2 Interface) ist aber nicht so schön zu benutzen und auch nicht das schnellste.
Das nur so als Ergänzung.
Achso, an das Ding kommst du auch vom WebBrowser-Control aus.
Danke für die schnellen Antworten 👍
Ihr habt mir sehr geholfen!
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Nochmal Danke für die Antworten!
Ich stehe gerade leider trotzdem noch an...ich schaff diesen Regex code nicht 😦
Ich muss aus folgender Seite die ISIN Nummer auslesen:
Wiener Börse
Könnte mir dabei vielleicht jemand helfen?
Ich bin sehr dankbar für jede Antwort 😃
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Hallo Kaboom,
da wir kleine Pattern-Produzier-Maschine sind 😃 kannst du dir in erster Linie selbst helfen. Regex ist ganz einfach. Natürlich muss man sich da erstmal einlesen, wozu ein paar Minuten vollkommen ausreichend snid. Dazu gibt es z.B. das [Artikel] Regex-Tutorial. Eine Investition die unbedingt lohnt, denn Regex macht einem das Leben wirklich leichter. Ich benutze Regex seit 25 Jahren immer wieder gerne.
herbivore
Danke für die Antwort 😃
Ich hab jetzt leider noch immer folgendes Problem: Ich versteh nicht wie ich das am besten Anwenden soll...Ich hab mir dieses HTML Agility Pack runtergeladen. Doch ich versteh nicht wie man das Anwendet? Außerdem bekomme ich immer eine fehlermeldung wenn ich dies öffnen will, da ich die neue Version von VS habe. Die 2008er. Und dann das Programm die Files irgendwie konvertieren will...wenn das geschafft ist, dann bekomme ich folgende fehlermeldung:
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Ich hoffe ihr könnt mir weiter helfen 😃
Ich hab echt voll den Zeitdruck deswegen...die warten alle schon auf das programm^^
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Danke für die Antwort 😃
Ich hab jetzt leider noch immer folgendes Problem: Ich versteh nicht wie ich das am besten Anwenden soll...Ich hab mir dieses HTML Agility Pack runtergeladen. Doch ich versteh nicht wie man das Anwendet? Außerdem bekomme ich immer eine fehlermeldung wenn ich dies öffnen will, da ich die neue Version von VS habe. Die 2008er. Und dann das Programm die Files irgendwie konvertieren will...wenn das geschafft ist, dann bekomme ich folgende fehlermeldung:
Eine Klassenbibliothek kann man nicht ausführen. Du musst bzw. kannst das Projekt in dein eigenes Projekt hinzufügen.
Achso...jetzt verstehe ich^^ das heißt ich muss das HTML Agility Pack in meinem Programm aufrufen.
Danke^^
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
naja, steht doch im bild. das ist eine klassenbibliothek, und du versuchst sie auszuführen, was natürlich nicht geht. du musst ein ausführbares projekt hinzufügen und als startprojekt setzen.
das mit dem konvertieren ist ganz normal, das kommt immer wenn projekte mit einer älteren version als deine erstellt wurde
edit: zu langsam 😦 ja, natürlich musst du es aufrufen, woher soll es denn wissen was es machen soll.
Tja, für den Zeitdruck können wir nichts 😃
Das Html Agility Pack ist nunmal ne Klassenbibliothek die dir Klassen zur Verfügung stellt die du benutzen kannst. Die kann man natürlich nicht wie irgend ein Programm starten. Diese Fehlermeldung hat nichts mit irgend ner VS Version zu tun oder sonstwas. Das Konvertieren ist normal, ist leider schon nen älteres Projekt.
Das Anwenden ist im Prinzip ganz leicht, brauchst nur sowas wie:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(new WebClient().DownloadString(_url));
HtmlNodeCollection soups = doc.DocumentNode.SelectNodes("//td[@headers='suppe']");
Das SelectNodes gibt er dir alle HTML Nodes zurück die der XPath Ausdruck selektiert. Hab mir mal die Mühe gemacht den Source der Seite anzuschaun wo du drauf zugreifen willst. Sieht doch gar nicht so schlecht aus. Die meisten Tags scheinen ja mit Attributen versehen zu sein wie innerOnUpdate oder classOnUpdate woran du die einzelnen Werte unterscheiden kannst. Und die Werte stehen soweit ichs auf den ersten Blick gesehen hab direkt als Tag Inhalt ohne was anderes drin. Dann bräuchtest du noch nicht mal groß Regex wenn die Werte von sich aus losgelöst drin stehen.
Baka wa shinanakya naoranai.
Mein XING Profil.
Dankeschön für die vielen Antworten 😃
Ich werde mal weiter machen und im Notfall muss ich euch leider wieder stören ^^
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
Letzte Frage^^
Ich hab das HTML Agility Pack hinzugefügt. was muss ich machen damit mein programm auf die klassenbibliothek zugreift? sowas wie using HTMLagilitypack?
Mfg.
Kaboom
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt"
wie using HTMLagilitypack
ja, auch. Erst wirst du wohl eine Referenz hinzufügen müssen.
Aber das gehört zu den Grundlagen. Solche Fragen würden sich erübrigen wenn du ein Buch wie dieses: 🛈 durchgearbeitet hättest.
Siehe auch: [Hinweis] Wie poste ich richtig? 1.1.1