|
|
@ -1,3 +1,4 @@ |
|
|
|
import re |
|
|
|
from shutil import copyfile |
|
|
|
from youtube_transcript_api import YouTubeTranscriptApi |
|
|
|
from youtube_transcript_api.formatters import SRTFormatter |
|
|
@ -29,6 +30,7 @@ class DownloadUtil: |
|
|
|
if SrtFileService.checkExistsByVideoId(videoId): |
|
|
|
Logger.info("VideoId: {} 已收录", videoId) |
|
|
|
return |
|
|
|
pattern = "[\U00010000-\U0010ffff\u2600-\u27BF\u1f300-\u1f64F\u1f680-\u1f6FF\u2700-\u27BF]+" |
|
|
|
subs = pysrt.open(srtFilePath) |
|
|
|
srtFiles = [] |
|
|
|
ordinal = 1 |
|
|
@ -37,8 +39,10 @@ class DownloadUtil: |
|
|
|
if sub.start.to_time() == "00:00:00": |
|
|
|
srtStartTime = sub.start.to_time() |
|
|
|
srtEndTime = str(sub.end.to_time()).rstrip("0") |
|
|
|
srtText = sub.text |
|
|
|
srtText = re.sub(pattern, "EMOJI", srtText) |
|
|
|
srtFile: Srtfile = Srtfile(videoId=videoId, channelId=channelId, ordinal=ordinal, |
|
|
|
srtStartTime=srtStartTime, srtEndTime=srtEndTime, srtText=sub.text, isScan=0) |
|
|
|
srtStartTime=srtStartTime, srtEndTime=srtEndTime, srtText=srtText, isScan=0) |
|
|
|
ordinal = ordinal + 1 |
|
|
|
srtFiles.append(srtFile) |
|
|
|
# 批量插入字幕数据 |
|
|
|