Hämta undertexter

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sThorn
    Medlem
    • 2011-04-12
    • 5

    #1

    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



    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. Reason: formatering
  • nitro2k01
    Forumvärd
    • 2003-08-26
    • 7630

    #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.

    Comment

    Working...