Spaces:
Runtime error
Runtime error
Commit
·
464d05e
1
Parent(s):
a6ad6af
Create YouTubeDataExtraction.py
Browse files- YouTubeDataExtraction.py +37 -0
YouTubeDataExtraction.py
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from youtube_transcript_api import YouTubeTranscriptApi
|
| 2 |
+
import pytube as py
|
| 3 |
+
from deep_translator import GoogleTranslator as gt
|
| 4 |
+
|
| 5 |
+
def Extract_Video_id(url):
|
| 6 |
+
id=py.extract.video_id(url)
|
| 7 |
+
return id
|
| 8 |
+
|
| 9 |
+
def Video_To_Text(video_url,Language):
|
| 10 |
+
try:
|
| 11 |
+
video_id=Extract_Video_id(video_url)
|
| 12 |
+
final_data=' '
|
| 13 |
+
i=0
|
| 14 |
+
Video_Data=YouTubeTranscriptApi.get_transcript(video_id)
|
| 15 |
+
for data in Video_Data:
|
| 16 |
+
final_data=final_data+' '+Video_Data[i].get("text")
|
| 17 |
+
i=i+1
|
| 18 |
+
mode=" "
|
| 19 |
+
conv_res=" "
|
| 20 |
+
if(Language=="Urdu"):
|
| 21 |
+
mode="urdu"
|
| 22 |
+
translated_text=gt(source="auto",target=mode).translate(final_data)
|
| 23 |
+
conv_res=translated_text
|
| 24 |
+
elif(Language=="German"):
|
| 25 |
+
mode="german"
|
| 26 |
+
translated_text=gt(source="auto",target=mode).translate(final_data)
|
| 27 |
+
conv_res=translated_text
|
| 28 |
+
elif(Language=="Hindi"):
|
| 29 |
+
mode="hindi"
|
| 30 |
+
translated_text=gt(source="auto",target=mode).translate(final_data)
|
| 31 |
+
conv_res=translated_text
|
| 32 |
+
else:
|
| 33 |
+
conv_res="No Translation selected"
|
| 34 |
+
return final_data,conv_res
|
| 35 |
+
except:
|
| 36 |
+
return "Error Link in Problem Not Subtitle","Text to long to translate"
|
| 37 |
+
|