gpt4 book ai didi

Python正则表达式将youtube url转换为youtube视频

转载 作者:太空狗 更新时间:2023-10-29 22:10:04 28 4
gpt4 key购买 nike

我正在制作一个正则表达式,这样我就可以在用户发布的一段 HTML 文本中找到 youtube 链接(可以是多个)。

目前我正在使用以下正则表达式将“http://www.youtube.com/watch?v=-JyZLS2IhkQ”更改为显示相应的 youtube 视频:

return re.compile('(http(s|):\/\/|)(www.|)youtube.(com|nl)\/watch\?v\=([a-zA-Z0-9-_=]+)').sub(tag, value)

(其中变量“标签”是一些 html,因此视频有效并且“重视”用户帖子)

现在这个工作..直到 url 是这样的:

'http://www.youtube.com/watch?v=-JyZLS2IhkQ&feature...'

现在我希望你们能帮我弄清楚如何匹配“&feature...”部分以使其消失。

示例 HTML:

No replies to this post..

Youtube vid:

http://www.youtube.com/watch?v=-JyZLS2IhkQ

More blabla

感谢您的意见,非常感谢

斯特凡

最佳答案

我是这样解决的:

import re

def youtube_url_validation(url):
youtube_regex = (
r'(https?://)?(www\.)?'
'(youtube|youtu|youtube-nocookie)\.(com|be)/'
'(watch\?v=|embed/|v/|.+\?v=)?([^&=%\?]{11})')

youtube_regex_match = re.match(youtube_regex, url)
if youtube_regex_match:
return youtube_regex_match

return youtube_regex_match

测试:

youtube_urls_test = [
'http://www.youtube.com/watch?v=5Y6HSHwhVlY',
'http://youtu.be/5Y6HSHwhVlY',
'http://www.youtube.com/embed/5Y6HSHwhVlY?rel=0" frameborder="0"',
'https://www.youtube-nocookie.com/v/5Y6HSHwhVlY?version=3&hl=en_US',
'http://www.youtube.com/',
'http://www.youtube.com/?feature=ytca']


for url in youtube_urls_test:
m = youtube_url_validation(url)
if m:
print('OK {}'.format(url))
print(m.groups())
print(m.group(6))
else:
print('FAIL {}'.format(url))

关于Python正则表达式将youtube url转换为youtube视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4705996/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com