2013-01-27 02:50:38 +04:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
__all__ = ['facebook_download']
|
|
|
|
|
|
|
|
from ..common import *
|
2015-04-12 16:55:36 +03:00
|
|
|
import json
|
2013-01-27 02:50:38 +04:00
|
|
|
|
2015-04-12 16:55:36 +03:00
|
|
|
|
2015-09-26 08:45:39 +03:00
|
|
|
def facebook_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
|
2013-01-27 02:50:38 +04:00
|
|
|
html = get_html(url)
|
2015-04-12 16:55:36 +03:00
|
|
|
|
2013-01-27 02:50:38 +04:00
|
|
|
title = r1(r'<title id="pageTitle">(.+) \| Facebook</title>', html)
|
2015-04-12 16:55:36 +03:00
|
|
|
s2 = parse.unquote(unicodize(r1(r'\["params","([^"]*)"\]', html)))
|
|
|
|
data = json.loads(s2)
|
2015-10-24 10:24:43 +03:00
|
|
|
video_data = data["video_data"]["progressive"]
|
2013-01-27 02:50:38 +04:00
|
|
|
for fmt in ["hd_src", "sd_src"]:
|
2015-10-24 10:24:43 +03:00
|
|
|
src = video_data[0][fmt]
|
2013-01-27 02:50:38 +04:00
|
|
|
if src:
|
|
|
|
break
|
2015-04-12 16:55:36 +03:00
|
|
|
|
|
|
|
type, ext, size = url_info(src, True)
|
|
|
|
|
2013-01-27 02:50:38 +04:00
|
|
|
print_info(site_info, title, type, size)
|
|
|
|
if not info_only:
|
2015-04-12 16:55:36 +03:00
|
|
|
download_urls([src], title, ext, size, output_dir, merge=merge)
|
2013-01-27 02:50:38 +04:00
|
|
|
|
|
|
|
site_info = "Facebook.com"
|
|
|
|
download = facebook_download
|
|
|
|
download_playlist = playlist_not_supported('facebook')
|