cljx_nrxs.py 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. import random
  2. import time
  3. import requests
  4. import json
  5. from common import Feishu
  6. from common.sql_help import sqlCollect
  7. class CLJX:
  8. """
  9. 磁力聚星-内容相似
  10. """
  11. @classmethod
  12. def get_ks_account_id(cls, user_id):
  13. url = "http://8.217.190.241:8888/crawler/kuai_shou/account_info"
  14. payload = json.dumps({
  15. "account_id": user_id,
  16. })
  17. headers = {
  18. 'Content-Type': 'application/json'
  19. }
  20. response = requests.request("POST", url, headers=headers, data=payload)
  21. time.sleep(1)
  22. response = response.json()
  23. code = response['code']
  24. if code == 0:
  25. data = response['data']['data']
  26. if '3x' in user_id:
  27. channel_account_id = data['digit_id']
  28. else:
  29. channel_account_id = data['channel_account_id']
  30. return channel_account_id
  31. else:
  32. Feishu.finish_bot("kuai_shou/account_info接口"+response["msg"],
  33. "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb",
  34. "【快手 Token 使用提示 】")
  35. return None
  36. """
  37. 获取用户主页id
  38. """
  39. @classmethod
  40. def get_cljx_user(cls, user_id):
  41. url = "https://k.kuaishou.com/rest/web/star/starProfile"
  42. payload = json.dumps({
  43. "starId": user_id,
  44. "starType": 1
  45. })
  46. headers = {
  47. 'Accept': 'application/json',
  48. 'Accept-Language': 'zh-CN,zh;q=0.9',
  49. 'Content-Type': 'application/json',
  50. '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',
  51. 'Origin': 'https://k.kuaishou.com',
  52. 'Pragma': 'no-cache',
  53. 'Referer': 'https://k.kuaishou.com/',
  54. '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'
  55. }
  56. response = requests.request("POST", url, headers=headers, data=payload)
  57. time.sleep(1)
  58. response = response.json()
  59. result = response['result']
  60. if result == 1:
  61. profile_id = response["starProfile"]["profileId"]
  62. return profile_id
  63. else:
  64. print("提示")
  65. Feishu.finish_bot("Token 过期,请及时更换",
  66. "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb",
  67. "【磁力聚星提示】")
  68. @classmethod
  69. def get_ks_list(cls, url_id):
  70. url = "http://8.217.190.241:8888/crawler/kuai_shou/blogger"
  71. next_cursor = ""
  72. payload = json.dumps({
  73. "account_id": url_id,
  74. "sort_type": "最热",
  75. "cursor": next_cursor
  76. })
  77. headers = {
  78. 'Content-Type': 'application/json'
  79. }
  80. time.sleep(random.randint(1, 5))
  81. try:
  82. response = requests.request("POST", url, headers=headers, data=payload)
  83. response = response.json()
  84. data_all_list = response["data"]
  85. if data_all_list == None or len(data_all_list) == 0:
  86. if int(response["cdoe"]) == 27006:
  87. Feishu.finish_bot("kuai_shou/blogger接口" + response["msg"],
  88. "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb",
  89. "【快手 Token 使用提示 】")
  90. except Exception as exc:
  91. return False
  92. data_list = data_all_list["data"]
  93. for data in data_list:
  94. like_count = data['like_count']
  95. if int(like_count) >= 10000:
  96. return True
  97. return False
  98. @classmethod
  99. def get_nrxs(cls):
  100. user = sqlCollect.get_machine_making_reflux("快手", "快手历史")
  101. if user == None:
  102. return
  103. user = [item[0] for item in user]
  104. for uid in user:
  105. print(f"账号id{uid}")
  106. ks_id = cls.get_ks_account_id(uid)
  107. if ks_id == None:
  108. continue
  109. url = "https://k.kuaishou.com/rest/web/similar/simStar/list"
  110. payload = json.dumps({
  111. "next": 0,
  112. "similarType": 1,
  113. "size": 10,
  114. "starUserId": ks_id
  115. })
  116. headers = {
  117. 'Accept': 'application/json',
  118. 'Accept-Language': 'zh-CN,zh;q=0.9',
  119. 'Content-Type': 'application/json',
  120. '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',
  121. 'Origin': 'https://k.kuaishou.com',
  122. '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',
  123. 'sec-ch-ua-platform': '"macOS"'
  124. }
  125. response = requests.request("POST", url, headers=headers, data=payload)
  126. time.sleep(1)
  127. response = response.json()
  128. result = response['result']
  129. if result == 1:
  130. data = response["data"]
  131. star_vo_list = data['starVoList']
  132. if star_vo_list == []:
  133. sqlCollect.update_machine_making_reflux(uid)
  134. continue
  135. # 修改状态
  136. sqlCollect.update_machine_making_reflux(uid)
  137. list = []
  138. for star in star_vo_list:
  139. star_id = star['starId']
  140. name = star['name']
  141. time.sleep(1)
  142. account_id = cls.get_cljx_user(int(star_id)) # 获取用户主页id
  143. if account_id:
  144. print(f"溯源账号id:{account_id}")
  145. time.sleep(1)
  146. like_count = cls.get_ks_list(account_id) # 是否符合规则
  147. if like_count:
  148. status = 1
  149. else:
  150. status = 0
  151. sqlCollect.insert_user_data(uid, name, account_id, "快手", status)
  152. values = [
  153. [
  154. uid,
  155. name,
  156. account_id,
  157. status,
  158. "快手"
  159. ]
  160. ]
  161. Feishu.insert_columns("AIW2sNNjdhCgT3tug7sco7FGnse", 'couJYt', "ROWS", 1, 2)
  162. time.sleep(0.5)
  163. Feishu.update_values("AIW2sNNjdhCgT3tug7sco7FGnse", 'couJYt', "A2:Z2", values)
  164. if status == 1:
  165. list.append(account_id)
  166. if list:
  167. result = ','.join(list)
  168. values = [
  169. [
  170. "快手",
  171. result,
  172. "72777058",
  173. "5",
  174. "通用-安全分享",
  175. "AI片尾引导",
  176. "",
  177. "",
  178. "AI标题",
  179. "3",
  180. f"溯源账号:{uid}"
  181. ]
  182. ]
  183. Feishu.insert_columns("WGIYsSDdxhItBwtJ0xgc0yE7nEg", '0701bd', "ROWS", 1, 2)
  184. time.sleep(0.5)
  185. Feishu.update_values("WGIYsSDdxhItBwtJ0xgc0yE7nEg", '0701bd', "B2:Z2", values)
  186. else:
  187. Feishu.finish_bot("Token 过期,请及时更换",
  188. "https://open.feishu.cn/open-apis/bot/v2/hook/575ca6a1-84b4-4a2f-983b-1d178e7b16eb",
  189. "【磁力聚星提示】")
  190. if __name__ == '__main__':
  191. CLJX.get_nrxs()