Скачиваем оригинальные английские субтитры с notabenoid.com
Tuesday, October 25, 2011 11:02:03 PM
Доделал скрипт-парсер сайта 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Теперь надо сделать скачивание перевода и по-тихоньку объединять все в один интерфейс.
