resend_msg.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import json
  2. from common.mq import MQ
  3. from tqdm import tqdm
  4. if __name__ == "__main__":
  5. path = 'resend.txt'
  6. with open(path, "r", encoding="utf-8") as f:
  7. datas = f.readlines()
  8. for line in tqdm(datas):
  9. video_dict = {}
  10. msg = json.loads(line)['msg']
  11. # print(msg)
  12. platform = json.loads(line)['platform']
  13. strategy = json.loads(line)['strategy']
  14. strs = msg.replace("CrawlerEtlParam", "")[1: -1]
  15. str_list = strs.split(", ")
  16. str_list = [i.replace("'", "") for i in str_list]
  17. key_dict = {
  18. "crawlerRule": "crawler_rule",
  19. "userId": "user_id",
  20. "outUserId": "out_user_id",
  21. "userName": "user_name",
  22. "avatarUrl": "avatar_url",
  23. "outVideoId": "out_video_id",
  24. "videoTitle": "video_title",
  25. "coverUrl": "cover_url",
  26. "videoUrl": "video_url",
  27. "publishTime": "publish_time",
  28. "playCnt": "play_cnt",
  29. "likeCnt": "like_cnt",
  30. "shareCnt": "share_cnt",
  31. "collectionCnt": "collection_cnt",
  32. "commentCnt": "comment_cnt",
  33. "strategyType": "strategy"
  34. }
  35. for index, i in enumerate(str_list[:-4]):
  36. if "=" not in i:
  37. continue
  38. else:
  39. key = i.split("=")[0]
  40. value = i[len(key) + 1:]
  41. new_key = key_dict.get(key, key)
  42. video_dict[new_key] = value.replace("null", "")
  43. video_dict['strategy'] = strategy
  44. video_dict['platform'] = platform
  45. video_dict['crawler_rule'] = json.dumps({})
  46. print(json.dumps(video_dict, ensure_ascii=False, indent=4))
  47. mq = MQ(topic_name="topic_crawler_etl_" + "prod")
  48. mq.send_msg(video_dict)
  49. # video_dict = {'video_title': '吴尊友因病去世!吴老师,您真的不容易,千言万语,汇成一句话您走好❗️', 'video_id': '5262651713', 'duration': 49, 'play_cnt': 71, 'like_cnt': 0, 'comment_cnt': 0, 'share_cnt': 1, 'user_name': '夏日❤️莲莲', 'publish_time_stamp': 1698398572, 'publish_time_str': '2023-10-27 17:22:52', 'video_width': 537, 'video_height': 954, 'avatar_url': 'https://cdn-xphoto2.xiaoniangao.cn/4987933869?Expires=1704038400&OSSAccessKeyId=LTAI4G2W1FsgwzAWYpPoB3v6&Signature=wopOmtlcp9tGyWHYW9uy7DIXO%2Bg%3D&x-oss-process=image%2Fresize%2Cw_200%2Ch_200%2Climit_0%2Finterlace%2C1%2Fquality%2Cq_50%2Fcrop%2Cw_200%2Ch_200%2Cg_center%2Fformat%2Cjpg%2Fauto-orient%2C0', 'profile_id': 55888345, 'profile_mid': 185546, 'cover_url': 'https://cdn-xphoto2.xiaoniangao.cn/5262652619?Expires=1704038400&OSSAccessKeyId=LTAI4G2W1FsgwzAWYpPoB3v6&Signature=qIIRzRICgyv40n3uMFeMwHCY8JY%3D&x-oss-process=image%2Fresize%2Cw_690%2Ch_385%2Climit_0%2Finterlace%2C1%2Fformat%2Cjpg%2Fauto-orient%2C0', 'video_url': 'https://cdn-xalbum2.xiaoniangao.cn/5262651713?Expires=1704038400&OSSAccessKeyId=LTAI5tB7cRkYiqHcTdkVprwb&Signature=hFGFAB49mmgUYwYcF4679bE%2BgLg%3D', 'session': 'xiaoniangao-author-1698402882'}
  50. # video_dict['strategy'] = "author"
  51. # video_dict['platform'] = "xiaoniangao"
  52. # video_dict['user_id'] = 58528269
  53. # video_dict['out_video_id'] = video_dict['video_id']
  54. # print(json.dumps(video_dict, ensure_ascii=False, indent=4))
  55. # mq = MQ(topic_name="topic_crawler_etl_" + "prod")
  56. # mq.send_msg(video_dict)
  57. #