Titel von Seite auslesen

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von madu.

    Titel von Seite auslesen

    Also hab jetzt gerade erst mit dem Programmieren angefangen und wollte mal fragen, wie man den titel von einer seite die in dem webbrowser angezeigt wird auslesen kann..
    oder wie man namen von den links auslesen kann..
    Das kommt auf das Browserelement an.
    Hast du das normale von VB (was schon seit der Installation in der Toolliste ist) heiß das auf ein Labelbezogen so:

    Label1.Text = WebBrowser1.DocumentTitle

    Ich habe auch mit einem Webbrowser angefangen ;) , da ich unbedingt mal was selbermachen wollte !!
    Für Flashobjekte würde ich dir aber das Axwebbrowserelement empfehlen. Für Einsteiger würde ich das normale empfehlen weil da das Abschpeichern gut geht.

    Intresse? Dann teste doch mal meinen :) : radio-esc.de/html/cr_www.html .

    PS: Meiner is schon ein Multifunktionsbrowser.
    Thx erstma für deine Antwort
    ich hab das jetzt mal in einem externen Projekt versucht klappt aber leider nicht:

    Ich benutze den normalen Webbrowser aus den Komponenten (Microsoft Internet Controls)
    sooo das projekt sieht jetzt so aus:

    Visual Basic-Quellcode

    1. Private Sub Command1_Click()
    2. Text1.Text = WebBrowser1.DocumentTitle
    3. End Sub
    4. Private Sub Form_Load()
    5. WebBrowser1.Visible = True
    6. WebBrowser1.Navigate ("http://google.de")
    7. End Sub


    Klappt leider nicht die Fehlermeldung:
    Laufzeitfehler '438':
    Objekt unterstützt diese Eigenschaft oder Methode nicht.


    ich hatte dieses WebBrowser1.DocumentTitle
    auch irgendwo im i-net vorher gefunden .. aber die seite war über vbnet so dass die ganzen sources nicht funktioniert hatten..


    edit// habs jetzt mal mit vb 2005 express versucht.. da klappts.. aber keine ahnung wie ich da ne exe erstellen soll da kommt immer nur so ein scheiß setup teil ..

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

    Ich hab diesen Ordner nicht
    hab nach dem Ordner Debug (via suche erstelldatum heute - bzw. gestern weil es ja schon nach 0 uhr ist..
    )
    da kamen nur ein paar html dateiein und wenn ich nach bin gesucht habe kamen auch nur ein paar ordner die aber zu Perl gehören...

    außerdem: ist dieses vb 2005 express teil nicht vb .net?
    Gibt es einen ähnlichen für vb 6.0? ich hab nur so einen gaaaaaanz alten (vb 6.0 professional oder so..) find die gui und den editor nicht so gut..


    gibt es nicht noch eine methode um den titel rauszufinden?

    ich hab es jetzt mal so probiert:
    1.html source in ne variable packen
    2. erste zeile auslesen
    3. <title> - </title> auslesen

    ich hab bem 3. punkt ein problem
    mein source sieht so aus:
    TextTextTextText" suchzeichen2 = "

    Visual Basic-Quellcode

    1. Private Sub Form_Load() Dim suchtext As String Dim suchzeichen As String Dim suchzeichen2 As String Dim pos1 As Integer Dim pos2 As Integer Dim ausschnitt As String suchtext = "aaaaaaaaaaaaaaa" suchzeichen = "" pos1 = InStr( suchtext, suchzeichen) pos2 = InStr( suchtext, suchzeichen2) ausschnitt = Mid(suchtext, pos1, pos2) MsgBox pos1 MsgBox pos2 End Sub


    Das Problem: beim 2. suchen wird wieder von der ersten stelle angefangen zu zählen so dass ich später nicht nur den title habe sondern auch noch hinter dem title zeichen einiges etc. das wird halt nciht richtig ausgeschnitten...
    Wie mach ich das jetzt am besten das alles zwischen <title> und </title> ausgeschnitten wird bzw. in einer variable gespeichert wird ??



    --------

    So Thema gegessen :) wenn niemand ne einfachere Lösung findet den Titel von einer seite rauszufinden..
    Ich will ein kleines Suchtool machen was auf eine Seite zugreift die Suche benutzt und dann halt den die Linknamen ausgibt die sollen zur auswahlstehen.. so wie google halt ;)
    Lösung:
    Da der Source von den Seiten vom Grundgerüst immer gleich ist
    z.b. (das ist jetzt die erste zeile )
    <html><head><title>Hier der Titel</title></head>Hier irgendein Variabler Html code.. (also inhalt von der seite)
    da ich nur den Titel brauche also alles was zwischen <title> und </title> liegt benutze ich einfach den sourcecode:
    <title>Hier der Titel</title>

    Visual Basic-Quellcode

    1. Private Sub Form_Load()
    2. Dim suchtext As String
    3. Dim suchzeichen As String
    4. Dim pos1 As Integer
    5. Dim ausschnitt As String
    6. suchtext
    7. = "<html><head><title>Hier der
    8. Titel</title></head>Hier irgendein Variabler Html code..
    9. (also inhalt von der"
    10. suchzeichen = "</title>"
    11. pos1 = InStr(1, suchtext, suchzeichen)
    12. pos1 = pos1 - 20
    13. ausschnitt = Mid(suchtext, 20, pos1)
    14. End Sub


    Anstatt Suchtext kommt jetzt die 1. Zeile aus dem Html code..
    dan wird halt nach </title> gesucht dann wird halt gespeichert so </title> beginnt <<< das ist immer variable
    dann wird das minus 20 gerechnet weil man "<html><head><title>" nicht mit ein beziehen (weil hab dort erst angefangen wird den titel aufzuschreiben
    SOO dann wird halt angefangen der Titel ab dem 20. Buchstaben auszulesen bis dort hin wo </title> beginnt ...


    Also ist nur an die Gedacht die das vielleicht mal benötigen..

    Wäre trotzdem jemandem dankbar wenn der mir ne bessere möglichkeit zeigt.. weil das wird lange dauern weil immer erst der soruce von jedem einzelnem Link bearbeitet werden muss - und das dann bei 300 links lol..


    sehr cooles board werd mich öfters mal hier sehen lassen (hoff ich mal ;) )




    Beispiel an google.de (gibt einen kleinen Unterschied bei anderen Seiten.. bei mir wird zwischen groß und klein schreibung unterschieden bedeutet man muss wissen obs groß oder klein ist.. oder man macht einfach ne if bedingung.. z.b. if pos1= 0 then suchzeichen = oder so ähnlich :)


    Visual Basic-Quellcode

    1. Private Sub Command1_Click()
    2. Dim pos1 As Integer
    3. suchzeichen = "</TITLE>"
    4. pos1 = InStr(1, WebBrowser1.Document.All(0).outerHTML, suchzeichen)
    5. pos1 = pos1 - 20
    6. ausschnitt = Mid(WebBrowser1.Document.All(0).outerHTML, 20, pos1)
    7. MsgBox ausschnitt
    8. End Sub
    9. Private Sub Form_Load()
    10. WebBrowser1.Visible = True
    11. WebBrowser1.Navigate ("http://google.de")
    12. End Sub

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