]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/camwithher.py
1 from __future__
import unicode_literals
5 from .common
import InfoExtractor
13 class CamWithHerIE(InfoExtractor
):
14 _VALID_URL
= r
'https?://(?:www\.)?camwithher\.tv/view_video\.php\?.*\bviewkey=(?P<id>\w+)'
17 'url': 'http://camwithher.tv/view_video.php?viewkey=6e9a24e2c0e842e1f177&page=&viewtype=&category=',
21 'title': 'Periscope Tease',
22 'description': 'In the clouds teasing on periscope to my favorite song',
26 'uploader': 'MileenaK',
27 'upload_date': '20160322',
31 'skip_download': True,
34 'url': 'http://camwithher.tv/view_video.php?viewkey=6dfd8b7c97531a459937',
35 'only_matching': True,
37 'url': 'http://camwithher.tv/view_video.php?page=&viewkey=6e9a24e2c0e842e1f177&viewtype=&category=',
38 'only_matching': True,
40 'url': 'http://camwithher.tv/view_video.php?viewkey=b6c3b5bea9515d1a1fc4&page=&viewtype=&category=mv',
41 'only_matching': True,
44 def _real_extract(self
, url
):
45 video_id
= self
._match
_id
(url
)
47 webpage
= self
._download
_webpage
(url
, video_id
)
49 flv_id
= self
._html
_search
_regex
(
50 r
'<a[^>]+href=["\']/download
/\?v
=(\d
+)', webpage, 'video
id')
52 # Video URL construction algorithm is reverse-engineered from cwhplayer.swf
53 rtmp_url = 'rtmp
://camwithher
.tv
/clipshare
/%s' % (
54 ('mp4
:%s.mp4
' % flv_id) if int(flv_id) > 2010 else flv_id)
56 title = self._html_search_regex(
57 r'<div
[^
>]+style
="float:left"[^
>]*>\s
*<h2
>(.+?
)</h2
>', webpage, 'title
')
58 description = self._html_search_regex(
59 r'>Description
:</span
>(.+?
)</div
>', webpage, 'description
', default=None)
61 runtime = self._search_regex(
62 r'Runtime\s
*:\s
*(.+?
) \|
', webpage, 'duration
', default=None)
64 runtime = re.sub(r'[\s
-]', '', runtime)
65 duration = parse_duration(runtime)
66 view_count = int_or_none(self._search_regex(
67 r'Views\s
*:\s
*(\d
+)', webpage, 'view count
', default=None))
68 comment_count = int_or_none(self._search_regex(
69 r'Comments\s
*:\s
*(\d
+)', webpage, 'comment count
', default=None))
71 uploader = self._search_regex(
72 r'Added by\s
*:\s
*<a
[^
>]+>([^
<]+)</a
>', webpage, 'uploader
', default=None)
73 upload_date = unified_strdate(self._search_regex(
74 r'Added on\s
*:\s
*([\d
-]+)', webpage, 'upload date
', default=None))
82 'description
': description,
84 'view_count
': view_count,
85 'comment_count
': comment_count,
87 'upload_date
': upload_date,