blog-blog-blog

Скачиваем оригинальные английские субтитры с notabenoid.com

Доделал скрипт-парсер сайта notabenoid.com для скачивания оригинальной версии субтитров. Парсинг осуществляется с помощью двух библиотек: Beautiful Soup http://www.crummy.com/software/BeautifulSoup/ и soupselect http://code.google.com/p/soupselect/. Сам скрипт вот:
from BeautifulSoup import BeautifulSoup as Soup
from soupselect import select
import sys, urllib

def GetSrt(url, srt_file):
  i = 0
  j = 0
  soup_text = Soup(urllib.urlopen(url+'?page='+str(i)))
  OutSub = open(srt_file, 'w')
  
  while not select(soup_text, 'tr#empty_msg'):
    print ('Read %s?page=%d' % (url, i))
    
    timing = select(soup_text, 'table.translator tr td.i')
    origin = select(soup_text, 'table.translator tr td.o')
    
    for x in range(len(timing)):
      time = unicode(timing[x])[14:-5].split('<br />')
      start_time = time[0]
      end_time = time[1]
      origin_text = unicode(origin[x])[14:-5].replace('<br />','')
      j = j + 1
      OutSub.write('%d\n%s --> %s\n%s\n\n' % (j, start_time, end_time, origin_text))
      
    i = i + 1
    soup_text = Soup(urllib.urlopen(url+'?page='+str(i)))
  OutSub.close()

GetSrt(sys.argv[1], sys.argv[2])
Использование простое: первым параметром передается url страницы с переводом вида http://notabenoid.com/book/20491/66978/ , вторым параметром - имя выходного файла субтитров. Пример:
html2srt.py http://notabenoid.com/book/20491/66978/ eng.srt
Теперь надо сделать скачивание перевода и по-тихоньку объединять все в один интерфейс.

Извлечение данных из MKV посредством Python и MKVtoolnix

Write a comment

New comments have been disabled for this post.