[chirbit:profile] Fix extraction
authorYen Chi Hsuan <yan12125@gmail.com>
Fri, 14 Oct 2016 16:01:46 +0000 (00:01 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Fri, 14 Oct 2016 16:01:46 +0000 (00:01 +0800)
ChangeLog
youtube_dl/extractor/chirbit.py

index 29cfe637e7c0eef546b1c5eef49a6889804d0841..8cc5b93e696f7c59f9ae2ddeef0862d469ff6212 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 version <unreleased>
 
 Extractors
+* [chirbit] Fix extraction of user profile pages
 * [charambatv] Fix extraction
 * [canalplus] Fix extraction for some videos
 * [cbsinteractive] Fix extraction for cnet.com
index 61aed016753b28ceac34974c76aca0f9e1639f35..f35df143a604695c0b1fe7b0e33d7384192d1d98 100644 (file)
@@ -2,6 +2,7 @@
 from __future__ import unicode_literals
 
 import base64
+import re
 
 from .common import InfoExtractor
 from ..utils import parse_duration
@@ -70,7 +71,6 @@ class ChirbitProfileIE(InfoExtractor):
         'url': 'http://chirbit.com/ScarletBeauty',
         'info_dict': {
             'id': 'ScarletBeauty',
-            'title': 'Chirbits by ScarletBeauty',
         },
         'playlist_mincount': 3,
     }
@@ -78,13 +78,10 @@ class ChirbitProfileIE(InfoExtractor):
     def _real_extract(self, url):
         profile_id = self._match_id(url)
 
-        rss = self._download_xml(
-            'http://chirbit.com/rss/%s' % profile_id, profile_id)
+        webpage = self._download_webpage(url, profile_id)
 
         entries = [
-            self.url_result(audio_url.text, 'Chirbit')
-            for audio_url in rss.findall('./channel/item/link')]
+            self.url_result(self._proto_relative_url('//chirb.it/' + video_id))
+            for _, video_id in re.findall(r'<input[^>]+id=([\'"])copy-btn-(?P<id>[0-9a-zA-Z]+)\1', webpage)]
 
-        title = rss.find('./channel/title').text
-
-        return self.playlist_result(entries, profile_id, title)
+        return self.playlist_result(entries, profile_id)