def download_clip(target_file, size, user_agent, url, fmt_name, type_name, br, sp, vkey, level): browser = Browser() browser.set_handle_robots(False) form = { 'stdfrom': get_from(url), 'type': type_name, 'vkey': vkey, 'level': level, 'platform': PLAYER_PLATFORM, 'br': br, 'fmt': fmt_name, 'sp': sp, } query_string = urllib.urlencode(form) browser.addheaers = [ ('User-Agent', user_agent), ('x-flash-version', 'MAC 15,0,0,189')] resp = browser.open('%s?%s' % (url, query_string)) start_time = time.time() downloaded_size = 0 of = open(target_file, 'wb') while True: st = time.time() data = resp.read(128*1024) if not data: break of.write(data) downloaded_size += len(data) speed = (len(data)/1024)/(time.time() - st) percent = (downloaded_size * 100)/size print '[%%%d] %dKB/s %d/%d\r' % (percent, speed, downloaded_size, size), sys.stdout.flush() time_spent = time.time() - start_time speed = (downloaded_size/1024) / time_spent print 'Download %d bytes in %d seconds, speed %dKB/s' % (downloaded_size, time_spent, speed) of.close()