]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/camwithher.py
3 from .common
import InfoExtractor
11 class CamWithHerIE(InfoExtractor
):
12 _VALID_URL
= r
'https?://(?:www\.)?camwithher\.tv/view_video\.php\?.*\bviewkey=(?P<id>\w+)'
15 'url': 'http://camwithher.tv/view_video.php?viewkey=6e9a24e2c0e842e1f177&page=&viewtype=&category=',
19 'title': 'Periscope Tease',
20 'description': 'In the clouds teasing on periscope to my favorite song',
24 'uploader': 'MileenaK',
25 'upload_date': '20160322',
29 'skip_download': True,
32 'url': 'http://camwithher.tv/view_video.php?viewkey=6dfd8b7c97531a459937',
33 'only_matching': True,
35 'url': 'http://camwithher.tv/view_video.php?page=&viewkey=6e9a24e2c0e842e1f177&viewtype=&category=',
36 'only_matching': True,
38 'url': 'http://camwithher.tv/view_video.php?viewkey=b6c3b5bea9515d1a1fc4&page=&viewtype=&category=mv',
39 'only_matching': True,
42 def _real_extract(self
, url
):
43 video_id
= self
._match
_id
(url
)
45 webpage
= self
._download
_webpage
(url
, video_id
)
47 flv_id
= self
._html
_search
_regex
(
48 r
'<a[^>]+href=["\']/download
/\?v
=(\d
+)', webpage, 'video
id')
50 # Video URL construction algorithm is reverse-engineered from cwhplayer.swf
51 rtmp_url = 'rtmp
://camwithher
.tv
/clipshare
/%s' % (
52 ('mp4
:%s.mp4
' % flv_id) if int(flv_id) > 2010 else flv_id)
54 title = self._html_search_regex(
55 r'<div
[^
>]+style
="float:left"[^
>]*>\s
*<h2
>(.+?
)</h2
>', webpage, 'title
')
56 description = self._html_search_regex(
57 r'>Description
:</span
>(.+?
)</div
>', webpage, 'description
', default=None)
59 runtime = self._search_regex(
60 r'Runtime\s
*:\s
*(.+?
) \|
', webpage, 'duration
', default=None)
62 runtime = re.sub(r'[\s
-]', '', runtime)
63 duration = parse_duration(runtime)
64 view_count = int_or_none(self._search_regex(
65 r'Views\s
*:\s
*(\d
+)', webpage, 'view count
', default=None))
66 comment_count = int_or_none(self._search_regex(
67 r'Comments\s
*:\s
*(\d
+)', webpage, 'comment count
', default=None))
69 uploader = self._search_regex(
70 r'Added by\s
*:\s
*<a
[^
>]+>([^
<]+)</a
>', webpage, 'uploader
', default=None)
71 upload_date = unified_strdate(self._search_regex(
72 r'Added on\s
*:\s
*([\d
-]+)', webpage, 'upload date
', default=None))
80 'description
': description,
82 'view_count
': view_count,
83 'comment_count
': comment_count,
85 'upload_date
': upload_date,