video_count_notification.py 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. import datetime
  2. import time
  3. from datetime import datetime
  4. import schedule
  5. from loguru import logger
  6. from common import Feishu
  7. from common.sql_help import sqlCollect
  8. def bot_bygj_data():
  9. all_count = sqlCollect.get_bygj_all_count()
  10. fj = sqlCollect.get_bygj_count("范军")
  11. # ytd_lt = sqlCollect.get_ytd_bygj_count("范军")
  12. lt = sqlCollect.get_bygj_count("鲁涛")
  13. # ytd_lt = sqlCollect.get_ytd_bygj_count("鲁涛")
  14. yht = sqlCollect.get_bygj_count("余海涛")
  15. # ytd_yht = sqlCollect.get_ytd_bygj_count("余海涛")
  16. lq = sqlCollect.get_bygj_count("罗情")
  17. # ytd_lq = sqlCollect.get_ytd_bygj_count("罗情")
  18. lsy = sqlCollect.get_bygj_count("刘诗雨")
  19. # ytd_lsy = sqlCollect.get_ytd_bygj_count("刘诗雨")
  20. zf = sqlCollect.get_bygj_count("王媛")
  21. # ytd_zf = sqlCollect.get_ytd_bygj_count("张峰")
  22. zxq = sqlCollect.get_bygj_count("周仙琴")
  23. # ytd_zxq = sqlCollect.get_ytd_bygj_count("周仙琴")
  24. wxk = sqlCollect.get_bygj_count("王雪珂")
  25. xx = sqlCollect.get_bygj_count("信欣")
  26. text = (
  27. f"**总条数: **{int(all_count[0][0])}**条**\n"
  28. f"**范军: **{int(fj[0][0])}**条**\n"
  29. f"**鲁涛: **{int(lt[0][0])}**条**\n"
  30. f"**余海涛: **{int(yht[0][0])}**条**\n"
  31. f"**罗情: **{int(lq[0][0])}**条**\n"
  32. f"**刘诗雨: **{int(lsy[0][0])}**条**\n"
  33. f"**王媛: **{int(zf[0][0])}**条**\n"
  34. f"**周仙琴: **{int(zxq[0][0])}**条**\n"
  35. f"**王雪珂: **{int(wxk[0][0])}**条**\n"
  36. f"**信欣: **{int(xx[0][0])}**条**\n"
  37. )
  38. Feishu.finish_bot(text,
  39. "https://open.feishu.cn/open-apis/bot/v2/hook/1f3aa0e0-f872-4541-8fc7-6dcc825920ea",
  40. f"【 搬运工具{datetime.now().strftime('%Y年%m月%d日 %H时')}之前的数据 】")
  41. """爬虫"""
  42. def bot_crawler_data():
  43. try:
  44. xng_author = sqlCollect.get_crawler_count("xiaoniangao")
  45. xng_author_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangao")
  46. xng_tjl = sqlCollect.get_crawler_count("xiaoniangaotuijianliu")
  47. xng_tjl_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangaotuijianliu")
  48. zfqz_tjl = sqlCollect.get_crawler_count("zhufuquanzituijianliu")
  49. zfqz_tjl_ytd = sqlCollect.get_ytd_crawler_count("zhufuquanzituijianliu")
  50. bszf = sqlCollect.get_crawler_count("benshanzhufu")
  51. bszf_ytd = sqlCollect.get_ytd_crawler_count("benshanzhufu")
  52. fqw = sqlCollect.get_crawler_count("fuqiwang")
  53. fqw_ytd = sqlCollect.get_ytd_crawler_count("fuqiwang")
  54. jdfqw = sqlCollect.get_crawler_count("jingdianfuqiwang")
  55. jdfqw_ytd = sqlCollect.get_ytd_crawler_count("jingdianfuqiwang")
  56. ttjfq = sqlCollect.get_crawler_count("tiantianjufuqi")
  57. ttjfq_ytd = sqlCollect.get_ytd_crawler_count("tiantianjufuqi")
  58. zfnnsxjx = sqlCollect.get_crawler_count("zhufuniannianshunxinjixiang")
  59. zfnnsxjx_ytd = sqlCollect.get_ytd_crawler_count("zhufuniannianshunxinjixiang")
  60. wqsp = sqlCollect.get_crawler_count("weiquanshipin")
  61. wqsp_ytd = sqlCollect.get_ytd_crawler_count("weiquanshipin")
  62. pqgs = sqlCollect.get_crawler_count("piaoquangushi")
  63. pqgs_ytd = sqlCollect.get_ytd_crawler_count("piaoquangushi")
  64. lpld = sqlCollect.get_crawler_count("lepaoledong")
  65. lpld_ytd = sqlCollect.get_ytd_crawler_count("lepaoledong")
  66. zfkz = sqlCollect.get_crawler_count("zhufukuaizhuan")
  67. zfkz_ytd = sqlCollect.get_ytd_crawler_count("zhufukuaizhuan")
  68. llklzf = sqlCollect.get_crawler_count("linglingkuailezhufu")
  69. llklzf_ytd = sqlCollect.get_ytd_crawler_count("linglingkuailezhufu")
  70. jrzfhkfg = sqlCollect.get_crawler_count("jierizhufuhuakaifugui")
  71. jrzfhkfg_ytd = sqlCollect.get_ytd_crawler_count("jierizhufuhuakaifugui")
  72. ynfqmm = sqlCollect.get_crawler_count("yuannifuqimanman")
  73. ynfqmm_ytd = sqlCollect.get_ytd_crawler_count("yuannifuqimanman")
  74. hyzfd = sqlCollect.get_crawler_count("haoyunzhufuduo")
  75. hyzfd_ytd = sqlCollect.get_ytd_crawler_count("haoyunzhufuduo")
  76. #乐跑乐动迪捷
  77. lplddj = sqlCollect.get_crawler_count("lepaoledongdijie")
  78. lplddj_ytd = sqlCollect.get_ytd_crawler_count("lepaoledongdijie")
  79. text = (
  80. f"**小年糕: 当日**{int(xng_author[0][0])}**条/昨日**{int(xng_author_ytd[0][0])}**条**\n"
  81. f"**小年糕推荐流: 当日**{int(xng_tjl[0][0])}**条/昨日**{int(xng_tjl_ytd[0][0])}**条**\n"
  82. f"**祝福圈子推荐流: 当日**{int(zfqz_tjl[0][0])}**条/昨日**{int(zfqz_tjl_ytd[0][0])}**条**\n"
  83. f"**本山祝福: 当日**{int(bszf[0][0])}**条/昨日**{int(bszf_ytd[0][0])}**条**\n"
  84. f"**福气旺: 当日**{int(fqw[0][0])}**条/昨日**{int(fqw_ytd[0][0])}**条**\n"
  85. f"**经典福气旺: 当日**{int(jdfqw[0][0])}**条/昨日**{int(jdfqw_ytd[0][0])}**条**\n"
  86. f"**天天聚福气: 当日**{int(ttjfq[0][0])}**条/昨日**{int(ttjfq_ytd[0][0])}**条**\n"
  87. f"**喜鹊播-祝福年年顺心吉祥: 当日**{int(zfnnsxjx[0][0])}**条/昨日**{int(zfnnsxjx_ytd[0][0])}**条**\n"
  88. f"**祝福快转: 当日**{int(zfkz[0][0])}**条/昨日**{int(zfkz_ytd[0][0])}**条**\n"
  89. f"**乐跑乐动: 当日**{int(lpld[0][0])}**条/昨日**{int(lpld_ytd[0][0])}**条**\n"
  90. f"**篻圈故事: 当日**{int(pqgs[0][0])}**条/昨日**{int(pqgs_ytd[0][0])}**条**\n"
  91. f"**微圈视频: 当日**{int(wqsp[0][0])}**条/昨日**{int(wqsp_ytd[0][0])}**条**\n"
  92. f"**乐跑乐动迪捷: 当日**{int(lplddj[0][0])}**条/昨日**{int(lplddj_ytd[0][0])}**条**\n"
  93. f"**好运祝福多: 当日**{int(hyzfd[0][0])}**条/昨日**{int(hyzfd_ytd[0][0])}**条**\n"
  94. f"**愿你福气满满: 当日**{int(ynfqmm[0][0])}**条/昨日**{int(ynfqmm_ytd[0][0])}**条**\n"
  95. f"**节日祝福花开富贵: 当日**{int(jrzfhkfg[0][0])}**条/昨日**{int(jrzfhkfg_ytd[0][0])}**条**\n"
  96. f"**玲玲快乐祝福: 当日**{int(llklzf[0][0])}**条/昨日**{int(llklzf_ytd[0][0])}**条**\n"
  97. )
  98. Feishu.finish_bot(text,
  99. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  100. f"【 爬虫{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  101. except Exception as e:
  102. logger.error(f"[+] 报警失败{e}")
  103. """机器自制"""
  104. def bot_carry_data():
  105. try:
  106. sph_feed_count = sqlCollect.get_channel_count("视频号推荐流", "视频号推荐流")
  107. ytd_sph_feed_count = sqlCollect.get_ytd_channel_count("视频号推荐流", "视频号推荐流")
  108. ks_feed_count = sqlCollect.get_channel_count("快手推荐流", "快手推荐流")
  109. ytd_ks_feed_count = sqlCollect.get_ytd_channel_count("快手推荐流", "快手推荐流")
  110. ks_xcx_count = sqlCollect.get_channel_count("快手小程序", "快手小程序")
  111. ytd_ks_xcx_count = sqlCollect.get_ytd_channel_count("快手小程序", "快手小程序")
  112. ks_sou_count = sqlCollect.get_channel_count("快手搜索", "品类关键词搜索")
  113. ytd_ks_sou_count = sqlCollect.get_ytd_channel_count("快手搜索", "品类关键词搜索")
  114. dy_sou_count = sqlCollect.get_channel_count("抖音搜索", "品类关键词搜索")
  115. ytd_dy_sou_count = sqlCollect.get_ytd_channel_count("抖音搜索", "品类关键词搜索")
  116. sph_sou_count = sqlCollect.get_channel_count("视频号搜索", "品类关键词搜索")
  117. ytd_sph_sou_count = sqlCollect.get_ytd_channel_count("视频号搜索", "品类关键词搜索")
  118. dy_count = sqlCollect.get_name_count("抖音品类账号")
  119. ytd_dy_count = sqlCollect.get_ytd_name_count("抖音品类账号")
  120. ks_count = sqlCollect.get_name_count("快手品类账号")
  121. ytd_ks_count = sqlCollect.get_ytd_name_count("快手品类账号")
  122. sph_count = sqlCollect.get_name_count("视频号品类账号")
  123. ytd_sph_count = sqlCollect.get_ytd_name_count("视频号品类账号")
  124. xx_count = sqlCollect.get_name_count("信欣")
  125. ytd_xx_count = sqlCollect.get_ytd_name_count("信欣")
  126. dd_count = sqlCollect.get_name_count("单点视频")
  127. ytd_dd_count = sqlCollect.get_ytd_name_count("单点视频")
  128. text = (
  129. f"**抖音品类账号: 今日**{int(dy_count[0][0])}**条/昨日**{int(ytd_dy_count[0][0])}**条**\n"
  130. f"**抖音搜索: 今日**{int(dy_sou_count[0][0])}**条/昨日**{int(ytd_dy_sou_count[0][0])}**条**\n"
  131. f"**视频号品类账号: 今日**{int(sph_count[0][0])}**条/昨日**{int(ytd_sph_count[0][0])}**条**\n"
  132. f"**视频号推荐流: 今日**{int(sph_feed_count[0][0])}**条/昨日**{int(ytd_sph_feed_count[0][0])}**条**\n"
  133. f"**视频号搜索: 今日**{int(sph_sou_count[0][0])}**条/昨日**{int(ytd_sph_sou_count[0][0])}**条**\n"
  134. f"**快手品类账号: 今日**{int(ks_count[0][0])}**条/昨日**{int(ytd_ks_count[0][0])}**条**\n"
  135. f"**快手推荐流: 今日**{int(ks_feed_count[0][0])}**条/昨日**{int(ytd_ks_feed_count[0][0])}**条**\n"
  136. f"**快手小程序: 今日**{int(ks_xcx_count[0][0])}**条/昨日**{int(ytd_ks_xcx_count[0][0])}**条**\n"
  137. f"**快手搜索: 今日**{int(ks_sou_count[0][0])}**条/昨日**{int(ytd_ks_sou_count[0][0])}**条**\n"
  138. f"**相似溯源(xx): 今日**{int(xx_count[0][0])}**条/昨日**{int(ytd_xx_count[0][0])}**条**\n"
  139. f"**单点视频: 今日**{int(dd_count[0][0])}**条/昨日**{int(ytd_dd_count[0][0])}**条**\n"
  140. )
  141. Feishu.finish_bot(text,
  142. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  143. f"【 自制视频{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  144. except Exception as e:
  145. logger.error(f"[+] 报警失败{e}")
  146. def schedule_tasks():
  147. schedule.every().hour.at(":05").do(bot_carry_data)
  148. schedule.every().hour.at(":10").do(bot_crawler_data)
  149. schedule.every().hour.at(":08").do(bot_bygj_data)
  150. if __name__ == "__main__":
  151. # bot_bygj_data()
  152. # bot_crawler_data()
  153. schedule_tasks() # 调用任务调度函数
  154. while True:
  155. schedule.run_pending()
  156. time.sleep(1) # 每秒钟检查一次
  157. # bot_carry_data()