|
|
@ -4,6 +4,7 @@ |
|
|
|
# License: Public domain code |
|
|
|
import htmlentitydefs |
|
|
|
import httplib |
|
|
|
import locale |
|
|
|
import math |
|
|
|
import netrc |
|
|
|
import os |
|
|
@ -592,7 +593,7 @@ class MetacafeIE(InfoExtractor): |
|
|
|
"""Information Extractor for metacafe.com.""" |
|
|
|
|
|
|
|
_VALID_URL = r'(?:http://)?(?:www\.)?metacafe\.com/watch/([^/]+)/([^/]+)/.*' |
|
|
|
_DISCLAIMER = 'http://www.metacafe.com/disclaimer' |
|
|
|
_DISCLAIMER = 'http://www.metacafe.com/family_filter/' |
|
|
|
_youtube_ie = None |
|
|
|
|
|
|
|
def __init__(self, youtube_ie, downloader=None): |
|
|
@ -631,10 +632,10 @@ class MetacafeIE(InfoExtractor): |
|
|
|
|
|
|
|
# Confirm age |
|
|
|
disclaimer_form = { |
|
|
|
'allowAdultContent': '1', |
|
|
|
'filters': '0', |
|
|
|
'submit': "Continue - I'm over 18", |
|
|
|
} |
|
|
|
request = urllib2.Request('http://www.metacafe.com/watch/', urllib.urlencode(disclaimer_form), std_headers) |
|
|
|
request = urllib2.Request('http://www.metacafe.com/', urllib.urlencode(disclaimer_form), std_headers) |
|
|
|
try: |
|
|
|
self.report_age_confirmation() |
|
|
|
disclaimer = urllib2.urlopen(request).read() |
|
|
@ -684,7 +685,7 @@ class MetacafeIE(InfoExtractor): |
|
|
|
|
|
|
|
video_url = '%s?__gda__=%s' % (mediaURL, gdaKey) |
|
|
|
|
|
|
|
mobj = re.search(r'(?im)<meta name="title" content="Metacafe - ([^"]+)"', webpage) |
|
|
|
mobj = re.search(r'(?im)<title>(.*) - Video</title>', webpage) |
|
|
|
if mobj is None: |
|
|
|
self.to_stderr(u'ERROR: unable to extract title') |
|
|
|
return [None] |
|
|
@ -909,7 +910,7 @@ if __name__ == '__main__': |
|
|
|
'forcetitle': opts.gettitle, |
|
|
|
'simulate': (opts.simulate or opts.geturl or opts.gettitle), |
|
|
|
'format': opts.format, |
|
|
|
'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode()) |
|
|
|
'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(locale.getdefaultlocale()[1])) |
|
|
|
or (opts.usetitle and u'%(stitle)s-%(id)s.%(ext)s') |
|
|
|
or (opts.useliteral and u'%(title)s-%(id)s.%(ext)s') |
|
|
|
or u'%(id)s.%(ext)s'), |
|
|
|