HTML Value auslessen?

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von NoIde.

    HTML Value auslessen?

    Hallo Leute,
    ich brauch stringent Hilfe bei einem Problem.
    und zwar will ich einen Wert auslesen.

    HTML-Quellcode

    1. <span class="points_count">1000</span>


    die "value" des Points_count soll ausgelesen werden.
    dieser befindet sich aber in einer anderen class also so

    HTML-Quellcode

    1. <div class="head-welcome">Welcome! You have <span class="points_count">1000</span> points
    2. <img src="/images/layout/coins.png" alt="" title="">
    3. </div>


    Ist es irgendwie möglich die "1000" als Integer anzeigen?
    Vielen Dank.

    REMOTE schrieb:

    Ist es irgendwie möglich die "1000" als Integer anzeigen?


    Du meinst wohl diesen Wert auslesen und dann sonst wie zu zeigen, ja das geht.

    Aber wie wäre es mit einer präziseren Problembeschreibung? Sollen wir jetzt raten, wie du an den Source kommst? Beschreib das mal so gut es geht. Erinnert mich an dein Problem hier:
    Facebook like Button in Form einfügen
    Ist vermulich fast das gleiche Problem.

    Was hast du bisher versucht?
    Wuie sieht dein Code jetzt aus?
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „NoIde“ ()

    Es gibtn "HTMLAgilityPack" damit kann man wunderbar die Nodes des HTMLs durchblättern!

    Das würd dann so aussehen:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim _html As String = "<div class=""head-welcome"">Welcome! You have <span class=""points_count"">1000</span> points <img src=""/images/layout/coins.png"" alt="" title=""> </div>"
    4. Dim _htmlDoc As New HtmlAgilityPack.HtmlDocument
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. _htmlDoc.LoadHtml(_html)
    7. Dim _innerText As String = _htmlDoc.DocumentNode.SelectSingleNode("//span[@class='points_count']").InnerText
    8. Debug.WriteLine(_innerText)
    9. End Sub
    10. End Class


    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Morrison“ ()

    @Morrison
    Meinst du nicht das es besser wäre dem TE so zu helfen das er selbst eine Lösung erarbeiten kann? So lernt er nichts, beim nächsten Problem kann er es wieder nicht selbst lösen oder es angemessen versuchen.. Der TE nutzt hier vermutlich auch das WebbrowserControl, dann ist das HTMLAgilityPack sogar unnötig. Habe sein wohl ähnliches Problem doch verlinkt, sein Problem ist einfach das er nicht auf das Element zugreifen kann, wenn der TE tatsächlich den Webbrowser nutzt, steht des Rätsels Lösung in meinem Post dort. Wenn er sich nicht bemüht warum dann noch mit C&P fertigen Code belohnen? So macht man Scriptkiddies, keine Programmierer!

    Ich finde so schadest du ihm nur.

    https://de.wikipedia.org/wiki/Scriptkiddie schrieb:


    Daneben besteht eine weitere Verwendung im Bereich der Programmierung.
    Dort nimmt das Wort Bezug auf eine Person, die fremden Quellcode für
    eigene Projekte zusammenkopiert, um deren Effekte zu nutzen, ohne jedoch
    den Code zu verstehen.[1]


    @REMOTE
    Versuch mal herauszufinden was HTML-Tags sind, vllt. findest du eine der 3 im anderen Thread erwähnten Functionen dann doch noch nützlich.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „NoIde“ ()

    @Morrison
    Danke für dein Bemühen! Die Information mit dem HTMLAgilityPack war sehr gut.
    Problem dabei ist das ich die datei "HTMLAgilityPack.nupkg" nicht öffnen kann.
    Ich weiß jetz das ich dazu die Anwendung von NuGet benötige, jedoch lässt sich das Programm bei mir nichts instalieren
    es kommt immer ein Fehler das dies nicht möglich ist.

    @NoIde alias "Der Meckerpott
    Auch dir danke ich für "mühen hafte" Wörter... wie schon immer gesagt Frage ich nur nach Hilfe ob dieses Problem lössbar ist!
    Ich frage nicht nach Codes oder so..... Ich brauch da einfach Unterstützung und wenn du Meckerpott keine Intresse hast mir
    richtig zu helfen dann unterlasse bitte deine Kommentare. Mir ist schon klar das ich durch C&P kaum bis nichts leerne
    jedoch sind so Sachen Hilfreich.

    REMOTE schrieb:


    Problem dabei ist das ich die datei "HTMLAgilityPack.nupkg" nicht öffnen kann.


    Da musst Du gar nichts "händisch" machen. Im Projektmappen-Explorer Rechtsklick auf das Projekt (nicht auf die Projektmappe) und im Kontextmenü NuGet-Pakete verwalten...

    REMOTE schrieb:

    Der Meckerpott

    Auf diese Weise werden weniger Leute lust verspüren dir zu helfen. Dein Verhalten ist Kontraproduktiv, wenn es in den Händen zuckt, such dir eine zu den Symptomen besser geeignete Tätigkeit um dich abzureagieren. Aufs Bike schwingen oder Holz hacken z.B.

    REMOTE schrieb:


    Wenn er sich nicht bemüht warum dann noch mit C&P fertigen Code belohnen?


    @NoIde: Wo @Morrison C&P Code liefert musst Du mir mal zeigen, sehe ich nämlich nicht. Oder ist ein String jetzt ein Integer? Da fehlt also zumindest noch das Parsen.
    @Dkskm
    Er bezeichned sich doch selbst als "Meckerpott" wo soll da jetz das Problem sein?
    @Morrison Danke habs jetz hinbekommen alles Funktioniert super! :)

    @ Er gibt mir jetz denn wert 1000 aus danke schonmal.
    ich möchte das ganze per Webbrowser machen!
    wäre es nun am schlausten wenn ich die ganze Seite als HTML abspeicher dann die Zeile

    <div class=""head-welcome"">Welcome! You have <span class=""points_count"">1000</span> points <img src "" Suche und es vollende?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „REMOTE“ ()

    @Dksksm

    Ok 100% C&P ready ist der Code nicht,

    VB.NET-Quellcode

    1. Dim _innerText As String = _htmlDoc.DocumentNode.SelectSingleNode("//span[@class='points_count']").InnerText

    _innerText Typ zu Integer ändern, autokorrektur feddich, so würden es sicher sehr viele anfänger machen. Trotzdem halte ich meine Kritik nicht für falsch.

    @REMOTE
    Gut dann mach weiter so...
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    Ich meinte im allgemeinen wie einige Anfänger wenn sie überhaupt Option Strict On haben den Code anpassen täten. Wenn Option Strict Off, würden die meisten sogar eine implizite Konvertierung von String zu Integer in kauf nehmen. Wobei geparst werden sollte.

    Google Suche HTML-Tags
    1. Treffer
    w3schools.com/tags/ref_byfunc.asp


    GetElementsByTagName(String) -> Ruft eine Auflistung von Elementen mit dem angegebenen HTML-Tag ab.


    Das wäre also der 1. Schritt, da keine ID da.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()