gpt4 book ai didi

python - 更改youtube/dailymotion/vimeo嵌入大小

转载 作者:行者123 更新时间:2023-12-03 05:58:51 25 4
gpt4 key购买 nike

我正在写python脚本,其中输入是视频网址,例如。 http://www.youtube.com/embed/YX6eoRTaoUc

并返回有关视频的一些信息(持续时间,嵌入代码和其他类似信息...)

问题是youtube返回的嵌入大小以及其他视频服务(vimeo,dailymotion)对我不利。

例如。

<iframe width="480" width="260" src="http://www.youtube.com/embed/YX6eoRTaoUc?feature=oembed" frameborder="0" allowfullscreen></iframe>

我需要除480和270之外的其他值。我的方法是
    player_html = player_html.replace('width="480"','width="656"')
player_html = player_html.replace('height="270"','height="517"')

但是,如果youtube或其他视频服务将发送480以外的其他值,则它将无法正常工作。尝试使用正则表达式,但对我来说却很难。

此正则表达式与width参数匹配,但是接下来呢?
    \W|^width="\d+"\W|$

最佳答案

适当的HTML解析器将帮助您解决此问题。尝试BeautifulSoup:

>>> from bs4 import BeautifulSoup

>>> html = '''<iframe width="480" width="260" src="http://www.youtube.com/embed/YX6eoRTaoUc?feature=oembed" frameborder="0" allowfullscreen></iframe>'''

>>> soup = BeautifulSoup(html)
>>> soup.iframe['width'] = 656
>>> soup.iframe['height'] = 517

>>> print print soup.prettify()
<html>
<body>
<iframe allowfullscreen="" frameborder="0" height="517" src="http://www.youtube.com/embed/YX6eoRTaoUc?feature=oembed" width="656">
</iframe>
</body>
</html>

>>> html = unicode(soup) # or str(soup) as required.

关于python - 更改youtube/dailymotion/vimeo嵌入大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26278687/

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