Meddelande

Minska
No announcement yet.

Hämta undertexter

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Hämta undertexter

    Tjena, tänkte dela med mig av ett script som jag använder mig själv mycket av.
    Med detta så laddar man ner undertexter från undertexter.se

    Ladda ner och spara som text.py
    sedan kör ni det med:
    $ ./text.py vantage point
    http://pastie.org/1786404


    PS.
    Eugen som driver sidan tycker inte om detta och gillar att byta ut länkar för att jävlas..

    hoppas att det hjälper någon
    Last edited by sThorn; 2011-04-12, 12:45. Anledning: formatering

  • #2
    Du får gärna klistra in skriptet här. Vem vet vad som händer med Pastie om fem år?
    Nean har jag använt doldis-taggen highlight med Python-färgning:
    Python:
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-

    import sys, urllib, os, re
    """
    get_text.py
    Detta script hämtar en undertext's filen från undertexter.se
    ./get-text.py <sökterm>
    ex:
    ./get-text.py johan
    ./get-text.py house md s05e17
    """
    def filter_page():
    """
    Filtrerar fram möjliga resultat från hemsidan,
    och returnerar dessa som tupler i form: (id, url)
    """
    #ut = "http://undertexter.se/?p=arkiv&cat=" + '%20'.join(sys.argv[1:])

    ut = "http://www.undertexter.se/?p=soek&add=arkiv&str=" + '%20'.join(sys.argv[1:]) + "&submit=S%F6k&select2=&select3=&select="

    webtext = urllib.urlopen(ut).read()
    first = webtext.find('Serielistor')
    last = webtext.rfind('function jump')
    newtext = webtext[first:last]
    textlist = []
    rawtextlist = newtext.split('\n')
    [textlist.append(line.strip()) for line in rawtextlist]

    hits = []
    hits.append(('Ingen av dessa.',0))
    iter = len(textlist)
    i = 0
    while i < iter:
    if 'href="http://www.undertexter.se/?p=undertext&id=' in textlist[i] and textlist[i][0:2] == "<a":
    hits.append((textlist[i+10][:-5], "http://www.undertexter.se/laddatext.php?id=" + re.search('id=([0-9])*', textlist[i]).group(0)[3:]))
    i +=1
    return hits

    def get_textfile_url(hits):
    """
    Frågar användaren vilken rls som den vill ladda ner.
    0 betyder att man vill avbryta.
    """
    i = 0
    for item in hits:
    print "[" + str(i) + "] " + item[0]
    i +=1
    return hits[int(raw_input("Vilken rls? "))][1]

    def down_load_sub(url):
    """
    Tar en url och laddar ner filen.
    """

    if url:
    a = urllib.urlopen(url)
    url = a.geturl()
    a.close()
    urllib.urlretrieve(url, url.rsplit('/')[-1])
    print 'Laddade ner' ,url.rsplit('/')[-1]

    if __name__ == "__main__":
    result = filter_page()
    choice = get_textfile_url(result)
    down_load_sub(choice)
    Gameboy Genius - Foto: Gatukonst och elektronikporr
    Internklippning:
    1) Snaggning av fångar.
    2) Klippning frisörer emellan.

    Kommentera

    Working...
    X