from lib.all import * service_name = "check_wx_share" # log_dir = "/app/log" log_dir = "." logger = Logger(service_name, log_dir=log_dir, print_terminal=True) def get_rank_host_cnt(rank): if 0 <= rank <= 30: return 30 elif 30 < rank <= 100: return 10 elif 100 < rank <= 300: return 3 else: return 1 def check_wx_url(url): api_url = "http://wx.rrbay.com/pro/wxUrlCheck2.ashx?key=9dab4264f077aa3697d346f7ac1f5270&url=https://%s&mode=authkey1" % url res = requests.get(api_url) r = json.loads(res.text) return r class S: def __init__(self): self.col_streamer = MongoDB( host="mongodb://root:Wishpal2024@dds-bp1da1ddd62bede41.mongodb.rds.aliyuncs.com:3717,dds-bp1da1ddd62bede42.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-77304659", port=3717, db="streamer", collection="streamer" ) self.col_share_url = MongoDB( host="mongodb://root:Wishpal2024@dds-bp1da1ddd62bede41.mongodb.rds.aliyuncs.com:3717,dds-bp1da1ddd62bede42.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-77304659", port=3717, db="share", collection="share_url" ) self.col_streamer_share_url = MongoDB( host="mongodb://root:Wishpal2024@dds-bp1da1ddd62bede41.mongodb.rds.aliyuncs.com:3717,dds-bp1da1ddd62bede42.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-77304659", port=3717, db="share", collection="streamer_share_url" ) self.mysql_db_bi = Mysql( "172.31.37.71", 3306, "bi", "root", "Wishpal@2023" ) def __del__(self): self.col_streamer.close() self.col_share_url.close() self.col_streamer_share_url.close() self.mysql_db_bi.close() def get_streamer_ranks(self): sql = ''' select * from vas_cur_streamer_income order by income desc ''' rows = list(self.mysql_db_bi.query(sql)) return rows def get_domain_host_map(self): domain_host_map = dict() docs = self.col_share_url.find({}) for doc in docs: domain = safe_get_str(doc, "domain") if domain not in domain_host_map.keys(): domain_host_map[domain] = list() domain_host_map[domain].append(doc) return domain_host_map def proc(self): try: # 获取要更新的url doc = self.col_share_url.find_one({}, sort_keys=[("ut", 1)]) if not doc: logger.Error("get wait update doc fail") return url = safe_get_str(doc, "_id") # 检查一下url res = check_wx_url(url) logger.Info("check_url_resp, url: {}, res: {}".format(url, res)) code = safe_get_str(res, "Code") if code == "002": return if code == "101": msg = safe_get_str(res, "Msg") # 更新db query = { "_id": url, } up = { "$set": { "ut": int(time.time()), "status": safe_get_str(res, "Code"), "api_res": dict2json(res) } } ret = self.col_share_url.update_one(query, up) logger.Info("mongo ret, modify: {}".format(ret.modified_count)) except Exception as e: logger.Error("panic: {}".format(str(e))) s = S() # while True: # s.proc() # time.sleep(21) # print(check_wx_url("https://kx0jjwssu14s007.tiefen.club")) # ranks = s.get_streamer_ranks() # for rank in ranks: # print(rank) m = s.get_domain_host_map() print(m)