-2

我试图让一个简单的 xbmc 插件工作。它会抓取 youtube 视频列表:

match=re.compile('<iframe title="YouTube video player" width="640" height="395" src="http://www.youtube.com/embed/(.+?)?rel=0"').findall(link)

然后我需要在每个“匹配”中添加以下内容:

plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid=

那么匹配将是例如:

plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid=OAVuKPFKrNo

我努力了:

url=("plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid="+match)

但显然它不起作用。我是初学者,所以请放轻松

4

3 回答 3

0
match = re.compile('<iframe title="YouTube video player" width="640" height="395" src="http://www.youtube.com/embed/(.+?)?rel=0"').findall(link)
for m in match:
    url = ("plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid=" + m)
    # ... perform other actions on the URL

这应该一次给你所有的比赛

于 2013-08-26T07:40:48.403 回答
0

解决了

url=("plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid="+match[0])

简单的小改变,有没有更好的方法呢?

于 2013-08-26T07:34:32.663 回答
0

re.compile('<iframe title="YouTube video player" width="640" height="395" src="http://www.youtube.com/embed/(.+?)?rel=0"').findall()返回一个列表。你是正确的,你不能连接字符串和列表。

你可以做:

"plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid="+match[0]

或者:

'plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid={}'.format(*match)

哪个解包列表。

于 2013-08-26T07:37:06.860 回答