Teil eines Links aus Quelltext lesen bzw. extrahieren.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Rinecamo.

    Teil eines Links aus Quelltext lesen bzw. extrahieren.

    Wunderschönen guten Abend.

    Wie ich schon gesehen habe (Suche, Google, Tags) gibt es des Öfteren Personen, die ein ähnliches Anliegen wie ich haben, aber eine Antwort auf meine Lösung konnte ich leider bis jetzt noch nicht finden.

    Es war mir zwar möglich mit einem Beispielprogramm alle Links einer Seite herauszufinden, aber es wurden immer nur die absoluten und ganzen Pfade inkl. "http://" genommen.




    Meine Frage betrifft die Videoplattform YouTube und ich möchte eigentlich nichts Anderes machen als die Videos zu downloaden. So weit so gut.
    Den Download bekomme ich hin, sobald ich die einzelnen Links habe, den Quelltext bekomme ich ausgelesen.

    Mein Problem ist das Filtern der Links aus dem Quelltext.

    Ich nehme einfach direkt die Startseite youtube.com/.

    Auf dieser befinden sich ja mehrere zufällig ausgewählte Videos, genau diese möchte ich nun herunterladen.

    Ein kleiner Teil des Quelltextes:

    PHP-Quellcode

    1. <a href="/watch?v=OG9qiF-vG3U&amp;feature=topvideos_film" class="ux-thumb-wrap contains-addto"><span class="video-thumb ux-thumb-128 "><span class="clip"><img onload="" title="one piece 504 preview" data-thumb="//i4.ytimg.com/vi/OG9qiF-vG3U/default.jpg" alt="Thumbnail" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="" click="" onmousedown="" ></span></span><span class="video-time">0:31</span><span dir="ltr" class="yt-uix-button-group addto-container short video-actions" data-video-ids="OG9qiF-vG3U" data-feature="thumbnail"><button type="button" class="start addto-button-plus-hide-arrow yt-uix-button yt-uix-button-short yt-uix-tooltip" onclick=";return false;" title="Zu Später ansehen hinzufügen " data-button-menu-id="shared-addto-menu" data-button-action="" role="button" aria-pressed="false"><img class="yt-uix-button-icon yt-uix-button-icon-addto" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""><span class="yt-uix-button-content"><span class="addto-label">Hinzufügen zu</span></span><img class="yt-uix-button-arrow" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""></button><button type="button" class="end yt-uix-button yt-uix-button-short yt-uix-tooltip yt-uix-button-empty" onclick=";return false;" title="" data-button-menu-id="shared-addto-menu" data-button-action="" role="button" aria-pressed="false"><img class="yt-uix-button-arrow" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""></button></span><span class="video-in-quicklist">Zur Warteschlange hinzugefügt </span></a>
    2. <div class="video-main-content video-title-one-line" id="video-main-content-OG9qiF-vG3U"> <div dir="ltr" class="video-title "> <div class="video-short-title"> <a class="" href="/watch?v=OG9qiF-vG3U&amp;feature=topvideos_film" id="video-short-title-OG9qiF-vG3U" rel="nofollow" title="one piece 504 preview">one piece 504 preview</a> </div> <div class="video-long-title"> <a class="" href="/watch?v=OG9qiF-vG3U&amp;feature=topvideos_film" id="video-long-title-OG9qiF-vG3U" rel="nofollow" title="one piece 504 preview">one piece 504 preview</a>
    3. </div> </div> <div id="video-description-OG9qiF-vG3U" dir="ltr" class="video-description"> one piece 504 preview one piece 504 preview one piece 504 preview one piece 504 pr... </div> <div class="video-facets">
    4. <span class="video-username"> von <a title="LoganOnePiece" href="/user/LoganOnePiece">LoganOnePiece</a> </span> </div> </div> <div class="video-clear-list-left"></div>
    5. </div>


    wenn man etwas weiter aussiebt bekommt man

    PHP-Quellcode

    1. <a href="/watch?v=OG9qiF-vG3U&amp;feature=topvideos_film"



    Und mich interessiert nur der Teil "/watch?v=OG9qiF-vG3U"


    Jetzt meine Frage, wie kann ich genau diese Links (alle Links) herauslesen und in einem Array, bzw. in einer Liste abspeichern um diese weiterverwenden zu können?


    Ich bedanke mich auf jeden Fall schon einmal im Vorraus für Antworten und Hilfe!
    Du könntest den String hier auch nach einer bestimmten Länge abschneiden, denn die YouTube-IDs haben meines Wissens nach immer eine feste Länge.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Wenn die ne bestimmte Länge haben, kann ich dir nen neuen RegEx Pattern geben.


    Edit: Hab selber geguckt, haben 11 Zeichen.
    Ich hab jetzt nicht getestet, aber das müsste funktionieren:

    VB.NET-Quellcode

    1. \/watch?.{13}

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