def data_poster_withoffset(post_url, post_content): encrtyed_param = encrypted_request(post_content) response_data = post_data_to_web(post_url, encrtyed_param) data_list = {} if response_data: data_list = response_data return data_list
def data_poster(uid, postURL, keyword, getparamFunc): ########################################## # uid: 唯一标识符,可以为用户id,歌单id等 # postURL: 发送post请求的目标url # keyword: 返回值目标数据的key # getparamFunc: 获取不同请求类型的请求参数的方法 ########################################## if hasattr(getparamFunc, '__call__'): post_param = getparamFunc(uid) data_list = [] data_flag = True data_times = 0 while data_flag: post_param['offset'] = int(data_times * 100) encrtyed_param = encrypted_request(post_param) response_data = post_data_to_web(postURL, encrtyed_param) if keyword not in response_data.keys(): break if response_data[keyword]: data_list.extend(response_data[keyword]) data_times += 1 try: data_flag = response_data['more'] except Exception as e: print(str(e)) data_flag = False return data_list else: print('{} should be callable'.format(str(getparamFunc)))