要从YouTube视频的URL中获取视频ID,您可以使用以下方法和正则表达式:
方法1: 使用正则表达式
import re
def get_video_id(url):
video_id_pattern = re.compile(r'(?:v=|\/)([0-9A-Za-z_-]{11}).*')
match = video_id_pattern.search(url)
video_id = match.group(1) if match else None
return video_id
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
video_id = get_video_id(url)
print("Video ID:", video_id)
方法2: 使用 urlparse 库
from urllib.parse import parse_qs, urlparse
def get_video_id(url):
parsed_url = urlparse(url)
if parsed_url.hostname == 'youtu.be':
video_id = parsed_url.path[1:]
if parsed_url.hostname in ('www.youtube.com', 'youtube.com'):
if parsed_url.path == '/watch':
video_id = parse_qs(parsed_url.query)['v'][0]
if parsed_url.path[:7] == '/embed/':
video_id = parsed_url.path.split('/')[2]
if parsed_url.path[:3] == '/v/':
video_id = parsed_url.path.split('/')[2]
return video_id
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
video_id = get_video_id(url)
print("Video ID:", video_id)
使用这些方法提供的任何方法,您都可以从YouTube视频URL中提取视频ID。对于给定的示例URL,这两种方法都将返回视频ID 'dQw4w9WgXcQ'。