Exemplo n.º 1
0
 def tidy():
     """
     对redis中的请求数据整理归纳,找出每台手机最新的请求数据
     :param redis:redis实例 db必须和proxy server存放的db相同
     :return:数据格式见combine 一方面返回字典另一方方面存入redis 并且增加属性 'update_time'
     """
     tidy_req_data = TidyReqData.get_all_req_data()
     tidy_req_data = TidyReqData.combine(tidy_req_data)
     tidy_req_data = TidyReqData.add_nick_name(tidy_req_data)
     redis_instance.set('tidy_req_data', tidy_req_data)
     return tidy_req_data
 def get_part_req_data(self, nickname):
     """
     仅获取阅读量和评论的请求数据
     :param nickname:公众号昵称
     :return:最后成功与否取决在redis中是否找到有有效数据
     """
     TidyReqData.flush_data()
     redis_instance.set('current_nickname', nickname)
     self.home_to_gzh_search()
     self.search_gzh(nickname)
     self.click_a_message(args=1)
     self.check_comments()
     self.home()
 def get_all_req_data(self, nickname, hand=False):
     """
     获取关于一个公众号的全部请求数据 当前程序使用baidu API受到网络和并发限制效果并十分理想
     :param nickname: 公众号昵称
     :return:最后成功与否取决在redis中是否找到有有效数据
     """
     TidyReqData.flush_data("*.req")
     redis_instance.set('current_nickname', nickname)
     self.home_to_gzh_search()
     self.search_gzh(nickname)
     if hand == False:
         self.all_message()
         self.click_a_message()
         # self.check_comments()
     else:
         input("请一一手动或取参数 回车退出")
     self.home()