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; didv=1723085291918; bUserId=1000056684959; userId=2574854626; kuaishou.ad.social_st=ChVrdWFpc2hvdS5hZC5zb2NpYWwuc3QSoAEPvL_SkoPDqtRAjJAvIulaIm61ZBi25J-k2kYUbYPrvZiw4gW8WjZCCiROGbXBok9n9YGggwIn2gL7w5UD7vkdbcMLPAZsECF5pe3nDZ09PFCSbijUh6n5BiJxfvp1wgy6sXseRs23u01LuNtcYlMBoIxlf2q8Vg9bbSMFuFIA2vxkLRXy59wawELRQrruvEdaZdARdomH2It-M15CcULeGhI9XS-Z7CpEB6YeaJVDlC5cHwQiIMLCvpAtnFdIuXEdrOD3LWuc_dmGx6iuDw_H8yYBuvYhKAUwAQ; kuaishou.ad.social_ph=19a9a04c03c8de9f0e7dd9f27d83eb487ef8; access_token=ChFvYXV0aC5hY2Nlc3NUb2tlbhIw-AFiDNc8p5UKEkEAykaPbzAkMgNvg6E71mr6ZzD4XQFiZtf9huSM4PlIyjCSYvWsGhI2peqRSTFPt7N70Y9cxFbAjFEiIIt7CiWvyK6MGZnPpFBEywE_beY4NBn7j-v2-C4u9l9YKAUwAQ; nc_user_id=CiVhZC5ub3RpZnkuY2VudGVyLm9hdXRoLnVzZXIuaWQuc2VjcmV0EiAhBTyzq5rqzoLK7DJbmiDMvLjiHucaDqunX3AmqgpSNxoSs7BhiDSZl/oisXmJdKy1qh0FIiDEn0Chin1Vf51suMc3YF2Sf4GHfjWlPstoFtcPprEt6ygFMAE=', '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; didv=1723085291918; bUserId=1000056684959; userId=2574854626; kuaishou.ad.social_st=ChVrdWFpc2hvdS5hZC5zb2NpYWwuc3QSoAEPvL_SkoPDqtRAjJAvIulaIm61ZBi25J-k2kYUbYPrvZiw4gW8WjZCCiROGbXBok9n9YGggwIn2gL7w5UD7vkdbcMLPAZsECF5pe3nDZ09PFCSbijUh6n5BiJxfvp1wgy6sXseRs23u01LuNtcYlMBoIxlf2q8Vg9bbSMFuFIA2vxkLRXy59wawELRQrruvEdaZdARdomH2It-M15CcULeGhI9XS-Z7CpEB6YeaJVDlC5cHwQiIMLCvpAtnFdIuXEdrOD3LWuc_dmGx6iuDw_H8yYBuvYhKAUwAQ; kuaishou.ad.social_ph=19a9a04c03c8de9f0e7dd9f27d83eb487ef8; access_token=ChFvYXV0aC5hY2Nlc3NUb2tlbhIw-AFiDNc8p5UKEkEAykaPbzAkMgNvg6E71mr6ZzD4XQFiZtf9huSM4PlIyjCSYvWsGhI2peqRSTFPt7N70Y9cxFbAjFEiIIt7CiWvyK6MGZnPpFBEywE_beY4NBn7j-v2-C4u9l9YKAUwAQ; nc_user_id=CiVhZC5ub3RpZnkuY2VudGVyLm9hdXRoLnVzZXIuaWQuc2VjcmV0EiAhBTyzq5rqzoLK7DJbmiDMvLjiHucaDqunX3AmqgpSNxoSs7BhiDSZl/oisXmJdKy1qh0FIiDEn0Chin1Vf51suMc3YF2Sf4GHfjWlPstoFtcPprEt6ygFMAE=', '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()