@ -1,10 +1,11 @@
# coding: utf-8
from __future__ import unicode_literals
import re
import json
from .common import InfoExtractor
class WeiboIE ( InfoExtractor ) :
"""
The videos in Weibo come from different sites , this IE just finds the link
@ -13,16 +14,16 @@ class WeiboIE(InfoExtractor):
_VALID_URL = r ' https?://video \ .weibo \ .com/v/weishipin/t_(?P<id>.+?) \ .htm '
_TEST = {
u ' add_ie ' : [ ' Sina ' ] ,
u ' url ' : u ' http://video.weibo.com/v/weishipin/t_zjUw2kZ.htm ' ,
u ' file ' : u ' 98322879.flv ' ,
u ' info_dict ' : {
u ' title ' : u ' 魔声耳机最新广告“All Eyes On Us” ' ,
' url ' : ' http://video.weibo.com/v/weishipin/t_zjUw2kZ.htm ' ,
' info_dict ' : {
' id ' : ' 98322879 ' ,
' ext ' : ' flv ' ,
' title ' : ' 魔声耳机最新广告“All Eyes On Us” ' ,
} ,
u ' note ' : u ' Sina video ' ,
u ' params ' : {
u ' skip_download ' : True ,
' params ' : {
' skip_download ' : True ,
} ,
' add_ie ' : [ ' Sina ' ] ,
}
# Additional example videos from different sites
@ -33,17 +34,16 @@ class WeiboIE(InfoExtractor):
mobj = re . match ( self . _VALID_URL , url , flags = re . VERBOSE )
video_id = mobj . group ( ' id ' )
info_url = ' http://video.weibo.com/?s=v&a=play_list&format=json&mix_video_id=t_ %s ' % video_id
info_page = self . _download_webpage ( info_url , video_id )
info = json . loads ( info_page )
info = self . _download_json ( info_url , video_id )
videos_urls = map ( lambda v : v [ ' play_page_url ' ] , info [ ' result ' ] [ ' data ' ] )
#Prefer sina video since they have thumbnails
videos_urls = sorted ( videos_urls , key = lambda u : u ' video.sina.com ' in u )
# Prefer sina video since they have thumbnails
videos_urls = sorted ( videos_urls , key = lambda u : ' video.sina.com ' in u )
player_url = videos_urls [ - 1 ]
m_sina = re . match ( r ' https?://video.sina.com.cn/v/b/( \ d+)- \ d+.html ' , player_url )
m_sina = re . match ( r ' https?://video \ .sina \ .com \ .cn/v/b/( \ d+)- \ d+ \ .html ' ,
player_url )
if m_sina is not None :
self . to_screen ( ' Sina video detected ' )
sina_id = m_sina . group ( 1 )
player_url = ' http://you.video.sina.com.cn/swf/quotePlayer.swf?vid= %s ' % sina_id
return self . url_result ( player_url )