|
|
|
@ -1,29 +1,20 @@
|
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
|
|
class FranceInterIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
_VALID_URL=r'http://www.franceinter.fr/player/reecouter\?play=(?P<id>[0-9]{6})'
|
|
|
|
|
IE_NAME='FranceInter'
|
|
|
|
|
_VALID_URL=r'http://(?:www\.)?franceinter\.fr/player/reecouter\?play=(?P<id>[0-9]{6})'
|
|
|
|
|
_TEST={
|
|
|
|
|
u'url':u'http://www.franceinter.fr/player/reecouter?play=793962',
|
|
|
|
|
u'file':u'793962.mp3'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#Easier to use python string matching than regex for a simple match
|
|
|
|
|
def get_download_url(self,webpage):
|
|
|
|
|
|
|
|
|
|
start=webpage.index('&urlAOD=')+8
|
|
|
|
|
end=webpage.index('&startTime')
|
|
|
|
|
return u'http://www.franceinter.fr/%s'%webpage[start:end]
|
|
|
|
|
|
|
|
|
|
def get_title(self,webpage):
|
|
|
|
|
start=webpage.index('<span class="title diffusion">')+30
|
|
|
|
|
end=webpage.index('</span> dans')
|
|
|
|
|
|
|
|
|
|
return webpage[start:end]
|
|
|
|
|
def _real_extract(self,url):
|
|
|
|
|
|
|
|
|
|
mobj = re.match(self._VALID_URL, url)
|
|
|
|
@ -31,9 +22,9 @@ class FranceInterIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
webpage=self._download_webpage(url,video_id)
|
|
|
|
|
|
|
|
|
|
title=self.get_title(webpage)
|
|
|
|
|
title=self._search_regex(u'(?<=<span class="roll_overflow">)(.*)(?=</span></h1>)', webpage, u'title')
|
|
|
|
|
|
|
|
|
|
video_url=self.get_download_url(webpage)
|
|
|
|
|
video_url='http://www.franceinter.fr/'+self._search_regex(u'(?<=&urlAOD=)(.*)(?=&startTime)', webpage, u'video url')
|
|
|
|
|
|
|
|
|
|
return{'id': video_id,u'url': video_url,u'title': title}
|
|
|
|
|
|
|
|
|
|