python使用itchat获取微信好友列表

''' 微信字段:Nickname昵称,remarkName,备注,Sex,性别,Signature个性签名,'Province': '云南', 'City': '昆明' '''import itchatimport logging logging.basicConfig(filename="", level=logging.INFO)#一个带参数的装饰器,类装饰器,语法糖效果等同于foo = timeit(foo)def log_print(new_var):    def middle(func):        def wrapper(*args, **kwargs):            logging.info("start print {} ...".format(new_var))            try:                return func(*args,**kwargs)            except Exception as e:                pass            logging.info("{} print end...".format(new_var))        return wrapper    return middleclass PythonWechat(object):    def __init__(self):        self.___nickname = list()        self.__sex = list()        self.all_friends = list()    def login_wechat(self):        itchat.auto_login(hotReload=True)        logging.info("login successfully")    def get_friend(self):        '''获取全部好友'''        self.all_friends = itchat.get_friends(update=True)[1:]        logging.info("already get all friends")        return self.all_friends    def get_attribute(self,var):        total_list = list()        for i,j in enumerate(self.all_friends):            # logging.info(j)            one_attribute = j[var]            # logging.info(j[var])            total_list.append(one_attribute)        return total_list    @log_print("nickname")    def get_nickname(self):        '''获取昵称'''        self.___nickname = self.get_attribute("NickName")    @log_print("sex")    def get_sex(self):        '''获取性别'''        self.__sex = self.get_attribute("Sex")        man,woman,not_man_woman = 0,0,0        for sex_split in self.__sex:            if sex_split == 0:                woman += 1            elif sex_split == 1:                man += 1            elif sex_split == 2:                not_man_woman += 1        logging.info("have already get all man's sex")        return man, woman, not_man_woman    def main(self):        self.login_wechat()        self.get_friend()        man_num, woman_num, not_man_woman_num = self.get_sex()        logging.info("man have {},woman have {},people that not konw have {}.".format(man_num,woman_num,not_man_woman_num))if __name__ == '__main__':    pw = PythonWechat()    pw.main()

猜你喜欢

转载自blog.51cto.com/14009535/2343071
今日推荐