]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/freesound.py
3 from .common
import InfoExtractor
4 from ..utils
import determine_ext
6 class FreesoundIE(InfoExtractor
):
7 _VALID_URL
= r
'(?:https?://)?(?:www\.)?freesound\.org/people/([^/]+)/sounds/(?P<id>[^/]+)'
9 u
'url': u
'http://www.freesound.org/people/miklovan/sounds/194503/',
10 u
'file': u
'194503.mp3',
11 u
'md5': u
'12280ceb42c81f19a515c745eae07650',
13 u
"title": u
"gulls in the city.wav",
14 u
"uploader" : u
"miklovan",
15 u
'description': u
'the sounds of seagulls in the city',
19 def _real_extract(self
, url
):
20 mobj
= re
.match(self
._VALID
_URL
, url
)
21 music_id
= mobj
.group('id')
22 webpage
= self
._download
_webpage
(url
, music_id
)
23 title
= self
._html
_search
_regex
(r
'<div id="single_sample_header">.*?<a href="#">(.+?)</a>',
24 webpage
, 'music title', flags
=re
.DOTALL
)
25 music_url
= self
._og
_search
_property
('audio', webpage
, 'music url')
26 description
= self
._html
_search
_regex
(r
'<div id="sound_description">(.*?)</div>',
27 webpage
, 'description', fatal
=False, flags
=re
.DOTALL
)
33 'uploader': self
._og
_search
_property
('audio:artist', webpage
, 'music uploader'),
34 'ext': determine_ext(music_url
),
35 'description': description
,