def web_interface(username, nickname, stop_time, mood_num, cookie_text, no_delete, password, pool_flag): sp = QQZoneAnalysis(use_redis=True, debug=False, username=username, analysis_friend=True, from_web=True, nickname=nickname, stop_time=stop_time, mood_num=mood_num, no_delete=no_delete, cookie_text=cookie_text, pool_flag=pool_flag) try: sp.login() sp.re.rpush(WEB_SPIDER_INFO + username, "用户" + str(sp.username) + "登陆成功") # 存储用户密码 sp.re.hset(USER_MAP_KEY, username, password) except BaseException: sp.re.rpush(WEB_SPIDER_INFO + username, GET_MAIN_PAGE_FAILED) try: sp.get_main_page_info() sp.re.rpush(WEB_SPIDER_INFO + username, "获取主页信息成功") sp.re.rpush(WEB_SPIDER_INFO + username, MOOD_NUM_PRE + ":" + str(sp.mood_num)) except BaseException: sp.re.rpush(WEB_SPIDER_INFO + username, LOGIN_FAILED) try: # 获取动态的数据 t1 = threading.Thread(target=sp.get_mood_list) # 获取好友数据 t2 = threading.Thread(target=sp.get_friend_detail) t1.setDaemon(False) t2.setDaemon(False) t1.start() t2.start() # 等待两个线程都结束 t1.join() t2.join() # sp.user_info.save_user(username) except BaseException: sp.re.rpush(WEB_SPIDER_INFO + username, GET_MOOD_FAILED) exit(1) # 清洗好友数据 sp.clean_friend_data() # 获取第一位好友数据 sp.get_first_friend_info() # 清洗说说数据并计算点赞最多的人和评论最多的人 sp.get_most_people() # 保存说说数据 sp.export_mood_df() sp.calculate_history_like_agree() sp.re.set(CLEAN_DATA_KEY + username, 1)
def web_interface(username, nickname, stop_time, mood_num, cookie_text, no_delete, password, pool_flag): sp = QQZoneAnalysis(use_redis=True, debug=False, username=username, analysis_friend=True, from_web=True, nickname=nickname, stop_time=stop_time, mood_num=mood_num, no_delete=no_delete, cookie_text=cookie_text, pool_flag=pool_flag) try: # 存储用户密码 sp.re.hset(USER_MAP_KEY, username, password) sp.logging_info(username + "init success") sp.login() sp.logging_info(username + "logging success") sp.re.rpush(WEB_SPIDER_INFO + username, "用户" + str(sp.username) + "登陆成功") except BaseException as e: sp.format_error(e, "logging failed") sp.re.rpush(WEB_SPIDER_INFO + username, LOGIN_FAILED) # 删除用户密码 sp.re.hdel(USER_MAP_KEY, username) sp.get_main_page_info() sp.logging_info("get main page success") try: # 获取动态的数据 t1 = threading.Thread(target=sp.get_mood_list) # 获取好友数据 t2 = threading.Thread(target=sp.get_friend_detail) t1.setDaemon(False) t2.setDaemon(False) t1.start() t2.start() # 等待两个线程都结束 t1.join() t2.join() # sp.user_info.save_user(username) except BaseException: sp.re.rpush(WEB_SPIDER_INFO + username, GET_MOOD_FAILED) exit(1) # 清洗好友数据 sp.clean_friend_data() # 获取第一位好友数据 sp.get_first_friend_info() # 清洗说说数据并计算点赞最多的人和评论最多的人 sp.get_most_people() sp.calculate_send_time() sp.user_info.save_user() # 保存说说数据 sp.export_mood_df() sp.re.set(MOOD_FINISH_KEY + str(username), 1) sp.calculate_history_like_agree() sp.re.set(CLEAN_DATA_KEY + username, 1) # 对排队list中删除当前用户,注意该指令的传参方式与redis-cli中不同 sp.re.lrem(WAITING_USER_LIST, username)