diff --git a/CHANGELOG.txt b/CHANGELOG.txt index e5e152f4..f8b24a1f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,13 @@ Changelog ========= +0.3dev-20121212 +--------------- + +*Date: 2012-12-12* + +* YouTube: fix some major issues on parsing video titles. + 0.3dev-20121210 --------------- diff --git a/you_get/downloader/youtube.py b/you_get/downloader/youtube.py index a759a3b8..43afd370 100644 --- a/you_get/downloader/youtube.py +++ b/you_get/downloader/youtube.py @@ -4,10 +4,14 @@ __all__ = ['youtube_download', 'youtube_download_by_id'] from ..common import * +import json + def youtube_download_by_id(id, title = None, output_dir = '.', merge = True, info_only = False): html = request.urlopen('http://www.youtube.com/watch?v=' + id).read().decode('utf-8') - title = r1(r'"title": "([^"]+)"', html) + html = unescape_html(html) + yt_player_config = json.loads(r1(r'yt.playerConfig = ([^\n]+);\n', html)) + title = yt_player_config['args']['title'] title = unicodize(title) title = parse.unquote(title) title = escape_file_path(title) diff --git a/you_get/version.py b/you_get/version.py index 75577b60..79a88480 100644 --- a/you_get/version.py +++ b/you_get/version.py @@ -1,4 +1,4 @@ #!/usr/bin/env python -__version__ = '0.3dev-20121210' -__date__ = '2012-12-10' +__version__ = '0.3dev-20121212' +__date__ = '2012-12-12'