

def zhanqi_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
    html = get_content(url)
    video_type_patt = 'VideoType":"([^"]+)"'
    video_type = match1(html, video_type_patt)
    rtmp_id_patt = 'videoId":"([^"]+)"'
    vod_m3u8_id_patt = 'VideoID":"([^"]+)"'
    title_patt = '<p class="title-name" title="[^"]+">([^<]+)</p>'
    title_patt_backup = '<title>([^<]{1,9999})</title>'
    title = (match1(html, title_patt) or match1(html, title_patt_backup))
    title = unescape_html(title)
    rtmp_base = 'http://wshdl.load.cdn.zhanqi.tv/zqlive'
    vod_base = 'http://dlvod.cdn.zhanqi.tv'
    rtmp_real_base = 'rtmp://dlrtmp.cdn.zhanqi.tv/zqlive/'
    room_info = 'http://www.zhanqi.tv/api/static/live.roomid/'
    KEY_MASK = '#{&..?!('
    ak2_pattern = 'ak2":"\\d-([^|]+)'
    if (video_type == 'LIVE'):
        rtmp_id = match1(html, rtmp_id_patt).replace('\\/', '/')
        html2 = get_content(((room_info + rtmp_id.split('_')[0]) + '.json'))
        json_data = json.loads(html2)
        cdns = json_data['data']['flashvars']['cdns']
        cdns = base64.b64decode(cdns).decode('utf-8')
        cdn = match1(cdns, ak2_pattern)
        cdn = base64.b64decode(cdn).decode('utf-8')
        key = ''
        i = 0
        while (i < len(cdn)):
            key = (key + chr((ord(cdn[i]) ^ ord(KEY_MASK[(i % 8)]))))
            i = (i + 1)
        time_hex = hex(int(time.time()))[2:]
        key = hashlib.md5(bytes((((key + '/zqlive/') + html) + time_hex), 'utf-8')).hexdigest()
        real_url = ((((((rtmp_real_base + '/') + rtmp_id) + '?k=') + key) + '&t=') + time_hex)
        print_info(site_info, title, 'flv', float('inf'))
        if (not info_only):
            download_rtmp_url(real_url, title, 'flv', {
                
            }, output_dir, merge=merge)
    elif (video_type == 'VOD'):
        vod_m3u8_request = (vod_base + match1(html, vod_m3u8_id_patt).replace('\\/', '/'))
        vod_m3u8 = get_html(vod_m3u8_request)
        part_url = re.findall('(/[^#]+)\\.ts', vod_m3u8)
        real_url = []
        for i in part_url:
            i = ((vod_base + i) + '.ts')
            real_url.append(i)
        type_ = ''
        size = 0
        for url in real_url:
            (_, type_, temp) = url_info(url)
            size += (temp or 0)
        print_info(site_info, title, (type_ or 'ts'), size)
        if (not info_only):
            download_urls(real_url, title, (type_ or 'ts'), size, output_dir, merge=merge)
    else:
        NotImplementedError('Unknown_video_type')

dataset/ETHPy150Open soimort/you-get/src/you_get/extractors/zhanqi.py zhanqi_download/VarMisuse@311/576 `rtmp_id`->`html`