def get_group(self): # 获取所有群基本信息 # bkn由参数skey通过另一个加密函数得到 bkn = hash33_bkn(self.cookies_merge_dict_in_qun_qq_com['skey']) submit_data = {'bkn': bkn} html = post_html('https://qun.qq.com/cgi-bin/qun_mgr/get_group_list', self.cookies_merge_dict_in_qun_qq_com, submit_data) group_info = loads(html.text) # print(group_info) return group_info['join']
def get_all_friends_in_qq(self): # 获取所有qq好友基本信息 # bkn由参数skey通过另一个加密函数得到 bkn = hash33_bkn(self.cookies_merge_dict_in_qun_qq_com['skey']) submit_data = {'bkn': bkn} html = post_html('https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list', self.cookies_merge_dict_in_qun_qq_com, submit_data) friend_info = loads(html.text) # print(friend_info) return friend_info['result']
def get_members_in_group(self, group_number): # 获取某个群的群成员 # bkn由参数skey通过另一个加密函数得到 bkn = hash33_bkn(self.cookies_merge_dict['skey']) # 由于接口限制每次最多获取20个成员的信息,所以我们先获取一遍,得到群成员的数量,再在后面重复获取几次 submit_data = { 'gc': group_number, 'st': '0', 'end': '0', 'sort': '0', 'bkn': bkn, } html = post_html( 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members', self.cookies_merge_dict, submit_data) group_member = json.loads(html.text) group_count = group_member['count'] # print(group_count) now_count = 0 members_in_group_list = [] while (now_count <= group_count): if (now_count <= group_count - 20): submit_data = { 'gc': group_number, 'st': str(now_count), 'end': str(now_count + 20), 'sort': '0', 'bkn': bkn, } html = post_html( 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members', self.cookies_merge_dict, submit_data) group_member = json.loads(html.text) # print('end_count:{}'.format(now_count+20)) # print(group_member['mems']) #将群成员数据合并到原有的列表中 members_in_group_list += group_member['mems'] now_count += 20 else: submit_data = { 'gc': group_number, 'st': str(now_count), 'end': str(group_count), 'sort': '0', 'bkn': bkn, } html = post_html( 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members', self.cookies_merge_dict, submit_data) group_member = json.loads(html.text) # print('end_count:{}'.format(group_count)) # print(group_member['mems']) #将群成员数据合并到原有的列表中 members_in_group_list += group_member['mems'] now_count += 20 print(members_in_group_list) time.sleep(2) # 对得到的群成员列表进行去重操作 tmp_list = [] for member in members_in_group_list: if member not in tmp_list: tmp_list.append(member) members_in_group_list = tmp_list return members_in_group_list