[ruleporn] Add new extractor
[youtube-dl] / youtube_dl / extractor / ruleporn.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 from .common import InfoExtractor
5
6
7 class RulepornIE(InfoExtractor):
8     _VALID_URL = r'https?://(?:www\.)?ruleporn\.com/(?:[a-z]+(?:-[a-z]+)+)'
9     _TEST = {
10         'url': 'http://ruleporn.com/brunette-nympho-chick-takes-her-boyfriend-in-every-angle/',
11         'md5': '86861ebc624a1097c7c10eaf06d7d505',
12         'info_dict': {
13             'id': '48212',
14             'ext': 'mp4',
15             'title': 'Brunette Nympho Chick Takes Her Boyfriend In Every Angle',
16         }
17     }
18
19     def _real_extract(self, url):
20         webpage = self._download_webpage(url, None)
21
22         video_id = self._search_regex(r'http://lovehomeporn.com/embed/([0-9]+)', webpage, 'video_id', fatal=True)
23         title = self._search_regex(r'<h2 title="((?:\w|\s|\d)+)">', webpage, 'title', fatal=True)
24         info_xml = self._download_xml('http://lovehomeporn.com/media/nuevo/econfig.php?key=%s&rp=true' % video_id, video_id)
25         url = info_xml.find('file').text
26
27         return {
28             'id': video_id,
29             'title': title,
30             'url': url,
31         }