]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/traileraddict.py
3 from . common
import InfoExtractor
6 class TrailerAddictIE ( InfoExtractor
):
8 _VALID_URL
= r
'(?:https?://)?(?:www\.)?traileraddict\.com/(?:trailer|clip)/(?P<movie>.+?)/(?P<trailer_name>.+)'
10 'url' : 'http://www.traileraddict.com/trailer/prince-avalanche/trailer' ,
11 'md5' : '41365557f3c8c397d091da510e73ceb4' ,
15 'title' : 'Prince Avalanche Trailer' ,
16 'description' : 'Trailer for Prince Avalanche. \n\n Two highway road workers spend the summer of 1988 away from their city lives. The isolated landscape becomes a place of misadventure as the men find themselves at odds with each other and the women they left behind.' ,
20 def _real_extract ( self
, url
):
21 mobj
= self
._ match
_ valid
_u rl
( url
)
22 name
= mobj
. group ( 'movie' ) + '/' + mobj
. group ( 'trailer_name' )
23 webpage
= self
._ download
_ webpage
( url
, name
)
25 title
= self
._ html
_ extract
_ title
( webpage
, 'video title' ). replace ( ' - Trailer Addict' , '' )
26 view_count_str
= self
._ search
_ regex
(
27 r
'<span class="views_n">([0-9,.]+)</span>' ,
28 webpage
, 'view count' , fatal
= False )
30 None if view_count_str
is None
31 else int ( view_count_str
. replace ( ',' , '' )))
32 video_id
= self
._ search
_ regex
(
33 r
'<param\s+name="movie"\s+value="/emb/([0-9]+)"\s*/>' ,
36 # Presence of (no)watchplus function indicates HD quality is available
37 if re
. search ( r
'function (no)?watchplus()' , webpage
):
42 info_url
= 'http://www.traileraddict.com/ %s .php?tid= %s ' % ( fvar
, str ( video_id
))
43 info_webpage
= self
._ download
_ webpage
( info_url
, video_id
, 'Downloading the info webpage' )
45 final_url
= self
._ search
_ regex
( r
'&fileurl=(.+)' ,
46 info_webpage
, 'Download url' ). replace ( '%3F' , '?' )
47 thumbnail_url
= self
._ search
_ regex
( r
'&image=(.+?)&' ,
48 info_webpage
, 'thumbnail url' )
50 description
= self
._ html
_ search
_ regex
(
51 r
'(?s)<div class="synopsis">.*?<div class="movie_label_info"[^>]*>(.*?)</div>' ,
52 webpage
, 'description' , fatal
= False )
58 'thumbnail' : thumbnail_url
,
59 'description' : description
,
60 'view_count' : view_count
,