mirror of
https://github.com/soimort/you-get.git
synced 2025-02-12 04:55:21 +03:00
update the rule of download url
This commit is contained in:
commit
1fe683cbf5
@ -1160,6 +1160,7 @@ def script_main(script_name, download, download_playlist, **kwargs):
|
||||
output_dir = a
|
||||
elif o in ('-p', '--player'):
|
||||
player = a
|
||||
caption = False
|
||||
elif o in ('-x', '--http-proxy'):
|
||||
proxy = a
|
||||
elif o in ('-y', '--extractor-proxy'):
|
||||
|
@ -5,13 +5,13 @@ __all__ = ['qq_download']
|
||||
from ..common import *
|
||||
|
||||
def qq_download_by_vid(vid, title, output_dir='.', merge=True, info_only=False):
|
||||
api = "http://h5vv.video.qq.com/getinfo?otype=json&vid=%s" % vid
|
||||
api = "http://h5vv.video.qq.com/getinfo?platform=11001&otype=json&vid=%s" % vid
|
||||
content = get_html(api)
|
||||
output_json = json.loads(match1(content, r'QZOutputJson=(.*)')[:-1])
|
||||
url = output_json['vl']['vi'][0]['ul']['ui'][0]['url']
|
||||
fvkey = output_json['vl']['vi'][0]['fvkey']
|
||||
lnk = output_json['vl']['vi'][0]['lnk']
|
||||
url = '%s/%s.mp4?vkey=%s' % ( url, lnk, fvkey )
|
||||
fn = output_json['vl']['vi'][0]['fn']
|
||||
url = '%s/%s?vkey=%s' % ( url, fn, fvkey )
|
||||
_, ext, size = url_info(url, faker=True)
|
||||
|
||||
print_info(site_info, title, ext, size)
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
import os.path
|
||||
import subprocess
|
||||
from ..util.strings import parameterize
|
||||
|
||||
def get_usable_ffmpeg(cmd):
|
||||
try:
|
||||
@ -53,7 +54,7 @@ def ffmpeg_concat_mp4_to_mpg(files, output='output.mpg'):
|
||||
concat_list = open(output + '.txt', 'w', encoding="utf-8")
|
||||
for file in files:
|
||||
if os.path.isfile(file):
|
||||
concat_list.write("file '%s'\n" % file)
|
||||
concat_list.write("file %s\n" % parameterize(file))
|
||||
concat_list.close()
|
||||
|
||||
params = [FFMPEG] + LOGLEVEL
|
||||
@ -118,7 +119,7 @@ def ffmpeg_concat_flv_to_mp4(files, output='output.mp4'):
|
||||
if os.path.isfile(file):
|
||||
# for escaping rules, see:
|
||||
# https://www.ffmpeg.org/ffmpeg-utils.html#Quoting-and-escaping
|
||||
concat_list.write("file '%s'\n" % file.replace("'", r"'\''"))
|
||||
concat_list.write("file %s\n" % parameterize(file))
|
||||
concat_list.close()
|
||||
|
||||
params = [FFMPEG] + LOGLEVEL + ['-f', 'concat', '-y', '-i']
|
||||
@ -163,7 +164,7 @@ def ffmpeg_concat_mp4_to_mp4(files, output='output.mp4'):
|
||||
concat_list = open(output + '.txt', 'w', encoding="utf-8")
|
||||
for file in files:
|
||||
if os.path.isfile(file):
|
||||
concat_list.write("file '%s'\n" % file)
|
||||
concat_list.write("file %s\n" % parameterize(file))
|
||||
concat_list.close()
|
||||
|
||||
params = [FFMPEG] + LOGLEVEL + ['-f', 'concat', '-y', '-i']
|
||||
|
@ -1,25 +1,28 @@
|
||||
try:
|
||||
# py 3.4
|
||||
from html import unescape as unescape_html
|
||||
# py 3.4
|
||||
from html import unescape as unescape_html
|
||||
except ImportError:
|
||||
import re
|
||||
from html.entities import entitydefs
|
||||
import re
|
||||
from html.entities import entitydefs
|
||||
|
||||
def unescape_html(string):
|
||||
'''HTML entity decode'''
|
||||
string = re.sub(r'&#[^;]+;', _sharp2uni, string)
|
||||
string = re.sub(r'&[^;]+;', lambda m: entitydefs[m.group(0)[1:-1]], string)
|
||||
return string
|
||||
def unescape_html(string):
|
||||
'''HTML entity decode'''
|
||||
string = re.sub(r'&#[^;]+;', _sharp2uni, string)
|
||||
string = re.sub(r'&[^;]+;', lambda m: entitydefs[m.group(0)[1:-1]], string)
|
||||
return string
|
||||
|
||||
def _sharp2uni(m):
|
||||
'''&#...; ==> unicode'''
|
||||
s = m.group(0)[2:].rstrip(';;')
|
||||
if s.startswith('x'):
|
||||
return chr(int('0'+s, 16))
|
||||
else:
|
||||
return chr(int(s))
|
||||
def _sharp2uni(m):
|
||||
'''&#...; ==> unicode'''
|
||||
s = m.group(0)[2:].rstrip(';;')
|
||||
if s.startswith('x'):
|
||||
return chr(int('0'+s, 16))
|
||||
else:
|
||||
return chr(int(s))
|
||||
|
||||
from .fs import legitimize
|
||||
|
||||
def get_filename(htmlstring):
|
||||
return legitimize(unescape_html(htmlstring))
|
||||
return legitimize(unescape_html(htmlstring))
|
||||
|
||||
def parameterize(string):
|
||||
return "'%s'" % string.replace("'", r"'\''")
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
script_name = 'you-get'
|
||||
__version__ = '0.4.350'
|
||||
__version__ = '0.4.365'
|
||||
|
Loading…
Reference in New Issue
Block a user