Youtube URLs per Script ziehen

Dieses Thema im Forum "about :: Forum" wurde erstellt von changeling, 9. Oktober 2010.

  1. changeling

    changeling Tach

    Fortführung vom Thema ZITATE KÜRZEN UND VIDEOS NICHT ZITIEREN:
    Da mein Mac in der Zwischenzeit gecrasht ist, bin ich mittlerweile auf einem deutlich schnelleren Linux-System unterwegs, hab aber teilweise immer noch Probleme mit Threads in denen nur Youtube-Videos gepostet werden, das Flash-Plugin hängt sich dann auf, was immerhin besser ist als das Verhalten beim Mac (= DeFacto Crash). Vorteil ist: Ich kann mir den Quellcode des Seite anschauen und daraus die Youtube URLs ziehen.

    Hier mal ein kleines awk Script, was ich mir geschrieben habe, um die URLs in mehrere HTML-Dateien (output1.html, ...) aufzuteilen:

    youtube.awk:
    Code:
    #! /bin/awk -f
    
    # Run: awk -f youtube.awk input.html
    
    BEGIN { 
        # The Youtube ID is always 11 characters long
        uIDLength = 11;
        lineCounter = 0;
        videosPerPage = 15;
    }
    
    {
        uIndex = index($0, "http://www.youtube.com/v/");
        # Cut the ID out
        if(uIndex > 0) {
            uID = substr($0, uIndex + length("http://www.youtube.com/v/"), uIDLength);
            lineCounter++;
            uURLArray[lineCounter] = uID        
        }
    }
    
    END {
        # Round down
        fileCounter = int(lineCounter / videosPerPage);
        # Round up if there are leftovers
        if(lineCounter % videosPerPage > 0)
            fileCounter++;
    
        for (f = 1; f <= fileCounter; f++) {
            print "<html><head></head><body>" > "output"f".html";
            offset = (f-1) * videosPerPage;     
    
            for (i = 1 + offset; i <= f * videosPerPage && i <= lineCounter; i++) {
                print "<br><br><object width=\"425\" height=\"350\">" >> "output"f".html";
                print "<param name=\"movie\" value=\"http://www.youtube.com/v/" uURLArray[i] "&fs=1\"></param>" >> "output"f".html";
                print "<param name=\"allowFullScreen\" value=\"true\">" >> "output"f".html";
                print "<param name=\"wmode\" value=\"transparent\"></param>" >> "output"f".html";
                print "<embed src=\"http://www.youtube.com/v/" uURLArray[i] "&fs=1\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" wmode=\"transparent\" width=\"425\" height=\"350\"></embed>" >> "output"f".html";
                print "</object>" >> "output"f".html";
            }
    
            print "&nbsp;<br/>" >> "output"f".html";
    
            if (f != 1)
                print "<a href=\"output"f-1".html\">Previous</a> " >> "output"f".html";
            if (f != fileCounter)
                print "<a href=\"output"f+1".html\">Next</a>" >> "output"f".html";
    
            print "</body></html>" >> "output"f".html";
        }
    
        print "Input file contained " lineCounter " Youtube links. Split them into " fileCounter " files."
    }
    
    Sollte auch unter Mac OS X laufen (da dürfte es auch awk geben) oder per Cygwin oder gawk for Windows.

    Vielleicht hilft das ja noch jemand anderem.
     
  2. kalyxos

    kalyxos Tach

    Gibt es - ist schliesslich 'n vernünftiges OS :D
    Danke :!:
     

Diese Seite empfehlen