Rivalcoder
[Edit] Add Proxy
28868d4
raw
history blame
1.28 kB
import gradio as gr
from youtube_transcript_api import YouTubeTranscriptApi
# List of proxies
proxies_list = [
'http://47.90.167.27:100', # United States
'http://47.122.56.158:9098', # China
'http://47.251.87.74:8008', # United States
'http://15.156.24.206:3128', # Canada
'http://137.184.100.135:80', # United States
'http://51.16.179.113:1080', # United States
'http://200.174.198.86:8888', # Brazil
'http://3.126.147.182:80', # Germany
'http://80.249.112.162:80' # Iran
]
def fetch_transcript_with_proxy(video_id):
# Select a proxy from the list (randomly, for example)
import random
proxy = random.choice(proxies_list)
proxies = {
'http': proxy,
'https': proxy
}
try:
transcript = YouTubeTranscriptApi.get_transcript(video_id, proxies=proxies)
return '\n'.join([entry['text'] for entry in transcript])
except Exception as e:
return f"Error: {str(e)}"
iface = gr.Interface(
fn=fetch_transcript_with_proxy,
inputs=gr.Textbox(label="YouTube Video ID"),
outputs=gr.Textbox(label="Transcript"),
title="YouTube Transcript Fetcher with Proxy",
description="Enter a YouTube video ID to fetch its transcript using a proxy."
)
iface.launch()