video_count_notification.py 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  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. text = (
  69. f"**小年糕: 当日**{int(xng_author[0][0])}**条/昨日**{int(xng_author_ytd[0][0])}**条**\n"
  70. f"**小年糕推荐流: 当日**{int(xng_tjl[0][0])}**条/昨日**{int(xng_tjl_ytd[0][0])}**条**\n"
  71. f"**祝福圈子推荐流: 当日**{int(zfqz_tjl[0][0])}**条/昨日**{int(zfqz_tjl_ytd[0][0])}**条**\n"
  72. f"**本山祝福: 当日**{int(bszf[0][0])}**条/昨日**{int(bszf_ytd[0][0])}**条**\n"
  73. f"**福气旺: 当日**{int(fqw[0][0])}**条/昨日**{int(fqw_ytd[0][0])}**条**\n"
  74. f"**经典福气旺: 当日**{int(jdfqw[0][0])}**条/昨日**{int(jdfqw_ytd[0][0])}**条**\n"
  75. f"**天天聚福气: 当日**{int(ttjfq[0][0])}**条/昨日**{int(ttjfq_ytd[0][0])}**条**\n"
  76. f"**喜鹊播-祝福年年顺心吉祥: 当日**{int(zfnnsxjx[0][0])}**条/昨日**{int(zfnnsxjx_ytd[0][0])}**条**\n"
  77. f"**祝福快转: 当日**{int(zfkz[0][0])}**条/昨日**{int(zfkz_ytd[0][0])}**条**\n"
  78. f"**乐跑乐动: 当日**{int(lpld[0][0])}**条/昨日**{int(lpld_ytd[0][0])}**条**\n"
  79. f"**篻圈故事: 当日**{int(pqgs[0][0])}**条/昨日**{int(pqgs_ytd[0][0])}**条**\n"
  80. f"**微圈视频: 当日**{int(wqsp[0][0])}**条/昨日**{int(wqsp_ytd[0][0])}**条**\n"
  81. )
  82. Feishu.finish_bot(text,
  83. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  84. f"【 爬虫{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  85. except Exception as e:
  86. logger.error(f"[+] 报警失败{e}")
  87. """机器自制"""
  88. def bot_carry_data():
  89. try:
  90. sph_feed_count = sqlCollect.get_channel_count("视频号推荐流", "视频号推荐流")
  91. ytd_sph_feed_count = sqlCollect.get_ytd_channel_count("视频号推荐流", "视频号推荐流")
  92. ks_feed_count = sqlCollect.get_channel_count("快手推荐流", "快手推荐流")
  93. ytd_ks_feed_count = sqlCollect.get_ytd_channel_count("快手推荐流", "快手推荐流")
  94. ks_xcx_count = sqlCollect.get_channel_count("快手小程序", "快手小程序")
  95. ytd_ks_xcx_count = sqlCollect.get_ytd_channel_count("快手小程序", "快手小程序")
  96. ks_sou_count = sqlCollect.get_channel_count("快手搜索", "品类关键词搜索")
  97. ytd_ks_sou_count = sqlCollect.get_ytd_channel_count("快手搜索", "品类关键词搜索")
  98. dy_sou_count = sqlCollect.get_channel_count("抖音搜索", "品类关键词搜索")
  99. ytd_dy_sou_count = sqlCollect.get_ytd_channel_count("抖音搜索", "品类关键词搜索")
  100. sph_sou_count = sqlCollect.get_channel_count("视频号搜索", "品类关键词搜索")
  101. ytd_sph_sou_count = sqlCollect.get_ytd_channel_count("视频号搜索", "品类关键词搜索")
  102. dy_count = sqlCollect.get_name_count("抖音品类账号")
  103. ytd_dy_count = sqlCollect.get_ytd_name_count("抖音品类账号")
  104. ks_count = sqlCollect.get_name_count("快手品类账号")
  105. ytd_ks_count = sqlCollect.get_ytd_name_count("快手品类账号")
  106. sph_count = sqlCollect.get_name_count("视频号品类账号")
  107. ytd_sph_count = sqlCollect.get_ytd_name_count("视频号品类账号")
  108. xx_count = sqlCollect.get_name_count("信欣")
  109. ytd_xx_count = sqlCollect.get_ytd_name_count("信欣")
  110. dd_count = sqlCollect.get_name_count("单点视频")
  111. ytd_dd_count = sqlCollect.get_ytd_name_count("单点视频")
  112. text = (
  113. f"**抖音品类账号: 今日**{int(dy_count[0][0])}**条/昨日**{int(ytd_dy_count[0][0])}**条/每日目标量:470条**\n"
  114. f"**抖音搜索: 今日**{int(dy_sou_count[0][0])}**条/昨日**{int(ytd_dy_sou_count[0][0])}**条/每日目标量:860条**\n"
  115. f"**视频号品类账号: 今日**{int(sph_count[0][0])}**条/昨日**{int(ytd_sph_count[0][0])}**条/每日目标量:80条**\n"
  116. f"**视频号推荐流: 今日**{int(sph_feed_count[0][0])}**条/昨日**{int(ytd_sph_feed_count[0][0])}**条/每日目标量:110条**\n"
  117. f"**视频号搜索: 今日**{int(sph_sou_count[0][0])}**条/昨日**{int(ytd_sph_sou_count[0][0])}**条/每日目标量:100条**\n"
  118. f"**快手品类账号: 今日**{int(ks_count[0][0])}**条/昨日**{int(ytd_ks_count[0][0])}**条/每日目标量:560条**\n"
  119. f"**快手推荐流: 今日**{int(ks_feed_count[0][0])}**条/昨日**{int(ytd_ks_feed_count[0][0])}**条/每日目标量:130条**\n"
  120. f"**快手小程序: 今日**{int(ks_xcx_count[0][0])}**条/昨日**{int(ytd_ks_xcx_count[0][0])}**条/每日目标量:?条**\n"
  121. f"**快手搜索: 今日**{int(ks_sou_count[0][0])}**条/昨日**{int(ytd_ks_sou_count[0][0])}**条/每日目标量:590条**\n"
  122. f"**相似溯源(xx): 今日**{int(xx_count[0][0])}**条/昨日**{int(ytd_xx_count[0][0])}**条/每日目标量:0条**\n"
  123. f"**单点视频: 今日**{int(dd_count[0][0])}**条/昨日**{int(ytd_dd_count[0][0])}**条**\n"
  124. )
  125. Feishu.finish_bot(text,
  126. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  127. f"【 自制视频{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  128. except Exception as e:
  129. logger.error(f"[+] 报警失败{e}")
  130. def schedule_tasks():
  131. schedule.every().hour.at(":05").do(bot_carry_data)
  132. schedule.every().hour.at(":10").do(bot_crawler_data)
  133. schedule.every().hour.at(":08").do(bot_bygj_data)
  134. if __name__ == "__main__":
  135. # bot_bygj_data()
  136. # bot_crawler_data()
  137. schedule_tasks() # 调用任务调度函数
  138. while True:
  139. schedule.run_pending()
  140. time.sleep(1) # 每秒钟检查一次
  141. # bot_carry_data()