Runterladen von Quelltext dauert zu lange

  • VB.NET

Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von Azulan.

    Azulan schrieb:

    VB.NET-Quellcode

    1. rslt = QT.Substring(fie, lia - fie)
    2. rslt = rslt.Substring(0, 570) '<<<<<<<<<<<<<< in dieser Zeile


    Du bildest Substring aus QT, da steht aber Nothing drin. Zu welchem Zeitpunkt eigentlich? Welche Zeile war gelb markiert, als rslt "nothing" war? Das gelbmarkierte bedeutet, dass die Zeile noch nicht ausgeführt wurde, erst nach dem Einzelschritt wird es ausgeführt und der Wert in die "rslt"-Variable geschrieben.
    Ich glaube ich hab den Fehler gefunden. Die Variablen "fie" und "lia" sind bei mir Null. Die müssen aber je nach dem den Wert von ungefähr 6000 annehmen.

    VB.NET-Quellcode

    1. Dim fie As Integer = QT.IndexOf(begin)
    2. Dim lia As Integer = QT.LastIndexOf(ending)
    3. fie += 1
    4. rslt = QT.Substring(fie, lia - fie)




    EDIT: na dann habe ich den Fehler doch noch nicht :)
    Bei rslt = QT.Substring(fie, lia - fie) (Zeile 48) sind fie=0 und lia=(-1).

    EDIT: ich habe jetzt die QT in einem TextBox durchgeschaut. Die Hälfte der Zeichen sehen so aus ( rel="stylesheet" type="text/css" media="all" href="http://st.championat.net/s/ie.css" /><![endif]-->

    <link rel="stylesheet" type="text/css" media="all" href="http://st.championat.net/s/branding/branding_ru.css" />

    <title>Футбол. Германия 2013/2014 - Турнирная таблица. Общая - Чемпионат.com</title>
    <meta name="description" content="Футбол. Германия 2013/2014 - Турнирная таблица. Общая. Все самые свежие новости спорта, видео, фото. Календари игр, обзоры матчей и турнирные таблицы." /> )

    Deswegen auch keine Treffer.

    mit webbrowser.document.body.outerhtml war das nicht so.

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

    Gut, dann wird er wohl das da nicht gefunden haben:

    Azulan schrieb:

    VB.NET-Quellcode

    1. Dim begin As String = element
    2. Dim ending As String = "Айнтрахт Б"
    3. Dim fie As Integer = QT.IndexOf(begin)
    4. Dim lia As Integer = QT.LastIndexOf(ending)


    IndexOf liefert -1 zurück, wenn kein Treffer gefunden wurde.

    EDIT: Wenn du nur editierst und nicht neu antwortest, kann ich selbst nicht neu antworten.

    Das wird wohl an (falscher) Codierung der Seite liegen, immerhin suchst du nach kyrillischen Buchstaben.
    Du hast ein Objekt "wc" der Klasse "System.Net.Webclient". Dieses Objekt hat eine Eigenschaft "Encoding", der du einen bestimmten Wert zuweisen kannst.

    Z.B.

    VB.NET-Quellcode

    1. wc.Encoding = System.Text.Encoding.Unicode


    oder

    VB.NET-Quellcode

    1. wc.Encoding = System.Text.Encoding.Default


    Wenn du nach "System.Text.Encoding" den Punkt setzt und erst mal gar nichts schreibst, kriegst du eine Auswahl vorgeschlagen, wenn die beiden Beispiele nicht gehen, dann probierst du eben andere aus (die du aus der Liste wählen kannst). Das setzt du natürlich, BEVOR du "DownloadString" aufrufst.

    Ob es jetzt stimmt, weiß ich nicht, probiere es halt aus.