Example #1
0
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
Example #2
0
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)))