]> git.bitcoin.ninja Git - youtube-dl/commitdiff
[pearvideo] Add extractor
authortroywith77 <ruitang307@gmail.com>
Tue, 9 May 2017 05:10:18 +0000 (13:10 +0800)
committerSergey M․ <dstftw@gmail.com>
Sat, 15 Jul 2017 20:02:31 +0000 (03:02 +0700)
youtube_dl/extractor/extractors.py
youtube_dl/extractor/pear.py [new file with mode: 0644]

index 9d34447a9b7ee67336f696dc7e0a93cae86be406..75c1a3d0ef428a7b75326d83c56bdc3c1aabb1f3 100644 (file)
@@ -762,6 +762,7 @@ from .pandoratv import PandoraTVIE
 from .parliamentliveuk import ParliamentLiveUKIE
 from .patreon import PatreonIE
 from .pbs import PBSIE
+from .pear import PearIE
 from .people import PeopleIE
 from .periscope import (
     PeriscopeIE,
diff --git a/youtube_dl/extractor/pear.py b/youtube_dl/extractor/pear.py
new file mode 100644 (file)
index 0000000..77fd468
--- /dev/null
@@ -0,0 +1,34 @@
+# coding: utf-8
+from __future__ import unicode_literals
+
+from .common import InfoExtractor
+
+
+class PearIE(InfoExtractor):
+    _VALID_URL = r'https?://(?:www\.)?pearvideo\.com/video_(?P<id>[0-9]+)'
+    _TEST = {
+        'url': 'http://www.pearvideo.com/video_1076290',
+        'info_dict': {
+            'id': '1076290',
+            'ext': 'mp4',
+            'title': '小浣熊在主人家玻璃上滚石头:没砸',
+            'description': '小浣熊找到一个小石头,仿佛发现了一个宝贝。它不停地用石头按在玻璃上,滚来滚去,吸引主人注意。',
+            'url': 'http://video.pearvideo.com/mp4/short/20170508/cont-1076290-10438018-hd.mp4'
+        }
+    }
+
+    def _real_extract(self, url):
+        video_id = self._match_id(url)
+        webpage = self._download_webpage(url, video_id)
+
+        title = self._html_search_regex(r'<h1[^>]+class="video-tt">(.+)</h1>', webpage, 'title', fatal=False)
+        description = self._html_search_regex(r'<div[^>]+class="summary"[^>]*>([^<]+)<', webpage, 'description', fatal=False)
+        url = self._html_search_regex(r'hdUrl="(.*?)"', webpage, 'url', fatal=False)
+
+        return {
+            'id': video_id,
+            'ext': 'mp4',
+            'title': title,
+            'description': description,
+            'url': url
+        }