-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

で解決しました

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

単純な小さな変更ですが、それを行うためのより良い方法はありますか?

于 2013-08-26T07:34:32.663 に答える
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

これにより、すべての一致が一度に1つずつ表示されます

于 2013-08-26T07:40:48.403 に答える
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 に答える