import random import time import requests import json from common import Feishu from common.sql_help import sqlCollect class CLJX: """ 磁力聚星-内容相似 """ @classmethod def get_ks_account_id(cls, user_id): url = "http://8.217.190.241:8888/crawler/kuai_shou/account_info" payload = json.dumps({ "account_id": user_id, }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) time.sleep(1) response = response.json() code = response['code'] if code == 0: data = response['data']['data'] if '3x' in user_id: channel_account_id = data['digit_id'] else: channel_account_id = data['channel_account_id'] return channel_account_id else: Feishu.finish_bot("kuai_shou/account_info接口"+response["msg"], "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb", "【快手 Token 使用提示 】") return None """ 获取用户主页id """ @classmethod def get_cljx_user(cls, user_id): url = "https://k.kuaishou.com/rest/web/star/starProfile" payload = json.dumps({ "starId": user_id, "starType": 1 }) headers = { 'Accept': 'application/json', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Content-Type': 'application/json', 'Cookie': 'did=web_9c6a04a4004fdb7c95a658a56ed275b6; apdid=328ac94f-4040-41fe-a038-b60140291aca99fb22e9862c74736f53d57b666ee53b:1719580529:1; language=zh-CN; ud=2205012540; app_id=ks686235996059836592; expire_time=1800; userId=2574854626; didv=1723085291918; access_token=ChFvYXV0aC5hY2Nlc3NUb2tlbhIwxAynR0a25DAwASSZyFW_SXVKItA9eLgPL9QE3uhjbXbxOZKZHOd2ZN5XA28WC_yhGhI2htRBeNJJsoU2p999XVFiCx8iINiMEx_garq3ocgmbowCwQEHrGSU3DHRVgcP256vtgogKAUwAQ; nc_user_id=CiVhZC5ub3RpZnkuY2VudGVyLm9hdXRoLnVzZXIuaWQuc2VjcmV0EiD3Ti1DDwjCt6yg6dWPwJ0ORdOr8FJXzTZs1oramKY6lBoS2NP9Dh0WHkEo1U4//HlOPvrHIiCyOJ7XywzTEB831l48hsXwEUPoCfOWlivj2ImMavMg2SgFMAE=; kuaishou.ad.social_st=ChVrdWFpc2hvdS5hZC5zb2NpYWwuc3QSoAGYIByd-51FdrhEkJ0gKeGxIfc9ENhrDEzFEoCMlMJJqK3NkzgxivGEt2nrsjO9nES9Kk7_bdr2-ILnlEiCdTk3VV3tjQNJ0AIdAco58wYxSgFGoiTzm_70s9K7pNo_Xtu_Td715BLcoJWSi-8kr8c51_lK1bf5WudF6Mu0_ux3l7j3xMULUfPlgQWyOsoGLmZZc-D2nJ1y-b1mQpSDOR75GhI9XS-Z7CpEB6YeaJVDlC5cHwQiIAJYR4iZ-BOCyoxQsdkV1qXAI5Pt8XUFJaqlKkkDVDt3KAUwAQ; kuaishou.ad.social_ph=2bedb2aeb05a5b4bb0e8103a2b4e68029ecc; did=web_9c6a04a4004fdb7c95a658a56ed275b6; didv=1711522726000', 'Origin': 'https://k.kuaishou.com', 'Pragma': 'no-cache', 'Referer': 'https://k.kuaishou.com/', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } response = requests.request("POST", url, headers=headers, data=payload) time.sleep(1) response = response.json() result = response['result'] if result == 1: profile_id = response["starProfile"]["profileId"] return profile_id else: print("提示") Feishu.finish_bot("Token 过期,请及时更换", "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb", "【磁力聚星提示】") @classmethod def get_ks_list(cls, url_id): url = "http://8.217.190.241:8888/crawler/kuai_shou/blogger" next_cursor = "" payload = json.dumps({ "account_id": url_id, "sort_type": "最热", "cursor": next_cursor }) headers = { 'Content-Type': 'application/json' } time.sleep(random.randint(1, 5)) try: response = requests.request("POST", url, headers=headers, data=payload) response = response.json() data_all_list = response["data"] if data_all_list == None or len(data_all_list) == 0: if int(response["cdoe"]) == 27006: Feishu.finish_bot("kuai_shou/blogger接口" + response["msg"], "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb", "【快手 Token 使用提示 】") except Exception as exc: return False data_list = data_all_list["data"] for data in data_list: like_count = data['like_count'] if int(like_count) >= 10000: return True return False @classmethod def get_nrxs(cls): user = sqlCollect.get_machine_making_reflux("快手", "快手历史") if user == None: return user = [item[0] for item in user] for uid in user: print(f"账号id{uid}") ks_id = cls.get_ks_account_id(uid) if ks_id == None: continue url = "https://k.kuaishou.com/rest/web/similar/simStar/list" payload = json.dumps({ "next": 0, "similarType": 1, "size": 10, "starUserId": ks_id }) headers = { 'Accept': 'application/json', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Content-Type': 'application/json', 'Cookie': 'did=web_9c6a04a4004fdb7c95a658a56ed275b6; apdid=328ac94f-4040-41fe-a038-b60140291aca99fb22e9862c74736f53d57b666ee53b:1719580529:1; language=zh-CN; ud=2205012540; app_id=ks686235996059836592; expire_time=1800; userId=2574854626; didv=1723085291918; access_token=ChFvYXV0aC5hY2Nlc3NUb2tlbhIwDJriiBd_Rfw8eDYAcNrxMNVh31u9tSJA9CAjt2O16wxi9gaDtJGN2IvVJqfPwZSwGhITB63P569DkqhlagGy21IJcH4iIHbikbQYx3YJ52cgLTbYnP5Huwfrx7NEoKGZIe1AAyeIKAUwAQ; nc_user_id=CiVhZC5ub3RpZnkuY2VudGVyLm9hdXRoLnVzZXIuaWQuc2VjcmV0EiC/P102mzVQGt2+DLIVD/C0wyWnJS85OkfLevE+gvyLiRoSh6GwxLxhJBzTF971M5HbMVVPIiDgi55t2xTmfnFXnyeAyDLyzno6k2e/bw7J4u1/qifbhSgFMAE=; kuaishou.ad.social_st=ChVrdWFpc2hvdS5hZC5zb2NpYWwuc3QSoAEqrrb6oCuZkjOnvnZeoEnQ564Rqph6-AqPSgVWYrifAPjBt2YgfXHw_98ldMOg8cUR8QiOIFztsdcRTBYDvs_ckIgjC5UiJTT55LXHG8ANCYQI4NZunxSDkRjtJAxK0R-21t3-rClsYus5eFEwaBnhuD0cG_Ze5a1ZWgkliCTZRHodiOTLWKP8exhEEg6lQnWPJe3YwCi91Setn1Vj6UKjGhLsLDZ7p_FIhoJA3z3VbOn1dpkiIIaFUhkgfk2L9XCNiZIVUGL6Bs0hCk9Kqgm6HdnYn7FBKAUwAQ; kuaishou.ad.social_ph=35a38517bc185742d657a2ac0ba1e8f4a088; did=web_9c6a04a4004fdb7c95a658a56ed275b6; didv=1711522726000', 'Origin': 'https://k.kuaishou.com', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"macOS"' } response = requests.request("POST", url, headers=headers, data=payload) time.sleep(1) response = response.json() result = response['result'] if result == 1: data = response["data"] star_vo_list = data['starVoList'] if star_vo_list == []: sqlCollect.update_machine_making_reflux(uid) continue # 修改状态 sqlCollect.update_machine_making_reflux(uid) list = [] for star in star_vo_list: star_id = star['starId'] name = star['name'] time.sleep(1) account_id = cls.get_cljx_user(int(star_id)) # 获取用户主页id if account_id: print(f"溯源账号id:{account_id}") time.sleep(1) like_count = cls.get_ks_list(account_id) # 是否符合规则 if like_count: status = 1 else: status = 0 sqlCollect.insert_user_data(uid, name, account_id, "快手", status) values = [ [ uid, name, account_id, status, "快手" ] ] Feishu.insert_columns("AIW2sNNjdhCgT3tug7sco7FGnse", 'couJYt', "ROWS", 1, 2) time.sleep(0.5) Feishu.update_values("AIW2sNNjdhCgT3tug7sco7FGnse", 'couJYt', "A2:Z2", values) if status == 1: list.append(account_id) if list: result = ','.join(list) values = [ [ "快手", result, "72777058", "5", "通用-安全分享", "AI片尾引导", "", "", "AI标题", "3", f"溯源账号:{uid}" ] ] Feishu.insert_columns("WGIYsSDdxhItBwtJ0xgc0yE7nEg", '0701bd', "ROWS", 1, 2) time.sleep(0.5) Feishu.update_values("WGIYsSDdxhItBwtJ0xgc0yE7nEg", '0701bd', "B2:Z2", values) else: Feishu.finish_bot("Token 过期,请及时更换", "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb", "【磁力聚星提示】") if __name__ == '__main__': CLJX.get_nrxs()