mirror of
https://github.com/soimort/you-get.git
synced 2025-01-26 06:55:03 +03:00
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
|
|
__all__ = ['iqiyi_download']
|
|
|
|
from ..common import *
|
|
|
|
def iqiyi_download(url, output_dir = '.', merge = True, info_only = False):
|
|
html = get_html(url)
|
|
#title = r1(r'title\s*:\s*"([^"]+)"', html)
|
|
#title = unescape_html(title).decode('utf-8')
|
|
#videoId = r1(r'videoId\s*:\s*"([^"]+)"', html)
|
|
#pid = r1(r'pid\s*:\s*"([^"]+)"', html)
|
|
#ptype = r1(r'ptype\s*:\s*"([^"]+)"', html)
|
|
#info_url = 'http://cache.video.qiyi.com/v/%s/%s/%s/' % (videoId, pid, ptype)
|
|
videoId = r1(r'''["']videoId["'][:=]["']([^"']+)["']''', html)
|
|
assert videoId
|
|
info_url = 'http://cache.video.qiyi.com/v/%s' % videoId
|
|
info_xml = get_html(info_url)
|
|
|
|
from xml.dom.minidom import parseString
|
|
doc = parseString(info_xml)
|
|
title = doc.getElementsByTagName('title')[0].firstChild.nodeValue
|
|
size = int(doc.getElementsByTagName('totalBytes')[0].firstChild.nodeValue)
|
|
urls = [n.firstChild.nodeValue for n in doc.getElementsByTagName('file')]
|
|
assert urls[0].endswith('.f4v'), urls[0]
|
|
tss = ["http://61.155.192.31/videos2" + url[33:-4] + ".ts" for url in urls] # use MPEG-TS .ts files temporarily
|
|
# FIXME: find the key to access .f4v files
|
|
|
|
print_info(site_info, title, 'ts', size)
|
|
if not info_only:
|
|
download_urls_chunked(tss, title, 'ts', size, output_dir = output_dir, merge = merge) # use MPEG-TS .ts files temporarily
|
|
|
|
site_info = "iQIYI.com"
|
|
download = iqiyi_download
|
|
download_playlist = playlist_not_supported('iqiyi')
|