video_count_notification.py 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. text = (
  25. f"**总条数: **{int(all_count[0][0])}**条**\n"
  26. f"**范军: **{int(fj[0][0])}**条**\n"
  27. f"**鲁涛: **{int(lt[0][0])}**条**\n"
  28. f"**余海涛: **{int(yht[0][0])}**条**\n"
  29. f"**罗情: **{int(lq[0][0])}**条**\n"
  30. f"**刘诗雨: **{int(lsy[0][0])}**条**\n"
  31. f"**张峰: **{int(zf[0][0])}**条**\n"
  32. f"**周仙琴: **{int(zxq[0][0])}**条**\n"
  33. )
  34. Feishu.finish_bot(text,
  35. "https://open.feishu.cn/open-apis/bot/v2/hook/1f3aa0e0-f872-4541-8fc7-6dcc825920ea",
  36. f"【 搬运工具{datetime.now().strftime('%Y年%m月%d日 %H时')}之前的数据 】")
  37. """爬虫"""
  38. def bot_crawler_data():
  39. try:
  40. xng_author = sqlCollect.get_crawler_count("xiaoniangao")
  41. xng_author_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangao")
  42. xng_tjl = sqlCollect.get_crawler_count("xiaoniangaotuijianliu")
  43. xng_tjl_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangaotuijianliu")
  44. zfqz_tjl = sqlCollect.get_crawler_count("zhufuquanzituijianliu")
  45. zfqz_tjl_ytd = sqlCollect.get_ytd_crawler_count("zhufuquanzituijianliu")
  46. bszf = sqlCollect.get_crawler_count("benshanzhufu")
  47. bszf_ytd = sqlCollect.get_ytd_crawler_count("benshanzhufu")
  48. fqw = sqlCollect.get_crawler_count("fuqiwang")
  49. fqw_ytd = sqlCollect.get_ytd_crawler_count("fuqiwang")
  50. jdfqw = sqlCollect.get_crawler_count("jingdianfuqiwang")
  51. jdfqw_ytd = sqlCollect.get_ytd_crawler_count("jingdianfuqiwang")
  52. ttjfq = sqlCollect.get_crawler_count("tiantianjufuqi")
  53. ttjfq_ytd = sqlCollect.get_ytd_crawler_count("tiantianjufuqi")
  54. zfnnsxjx = sqlCollect.get_crawler_count("zhufuniannianshunxinjixiang")
  55. zfnnsxjx_ytd = sqlCollect.get_ytd_crawler_count("zhufuniannianshunxinjixiang")
  56. text = (
  57. f"**小年糕: 当日**{int(xng_author[0][0])}**条/昨日**{int(xng_author_ytd[0][0])}**条**\n"
  58. f"**小年糕推荐流: 当日**{int(xng_tjl[0][0])}**条/昨日**{int(xng_tjl_ytd[0][0])}**条**\n"
  59. f"**祝福圈子推荐流: 当日**{int(zfqz_tjl[0][0])}**条/昨日**{int(zfqz_tjl_ytd[0][0])}**条**\n"
  60. f"**本山祝福: 当日**{int(bszf[0][0])}**条/昨日**{int(bszf_ytd[0][0])}**条**\n"
  61. f"**福气旺: 当日**{int(fqw[0][0])}**条/昨日**{int(fqw_ytd[0][0])}**条**\n"
  62. f"**经典福气旺: 当日**{int(jdfqw[0][0])}**条/昨日**{int(jdfqw_ytd[0][0])}**条**\n"
  63. f"**天天聚福气: 当日**{int(ttjfq[0][0])}**条/昨日**{int(ttjfq_ytd[0][0])}**条**\n"
  64. f"**祝福年年顺心吉祥: 当日**{int(zfnnsxjx[0][0])}**条/昨日**{int(zfnnsxjx_ytd[0][0])}**条**\n"
  65. )
  66. Feishu.finish_bot(text,
  67. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  68. f"【 爬虫{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  69. except Exception as e:
  70. logger.error(f"[+] 报警失败{e}")
  71. """机器自制"""
  72. def bot_carry_data():
  73. try:
  74. sph_feed_count = sqlCollect.get_channel_count("视频号推荐流", "视频号推荐流")
  75. ytd_sph_feed_count = sqlCollect.get_ytd_channel_count("视频号推荐流", "视频号推荐流")
  76. ks_feed_count = sqlCollect.get_channel_count("快手推荐流", "快手推荐流")
  77. ytd_ks_feed_count = sqlCollect.get_ytd_channel_count("快手推荐流", "快手推荐流")
  78. ks_xcx_count = sqlCollect.get_channel_count("快手小程序", "快手小程序")
  79. ytd_ks_xcx_count = sqlCollect.get_ytd_channel_count("快手小程序", "快手小程序")
  80. ks_sou_count = sqlCollect.get_channel_count("快手搜索", "品类关键词搜索")
  81. ytd_ks_sou_count = sqlCollect.get_ytd_channel_count("快手搜索", "品类关键词搜索")
  82. dy_sou_count = sqlCollect.get_channel_count("抖音搜索", "品类关键词搜索")
  83. ytd_dy_sou_count = sqlCollect.get_ytd_channel_count("抖音搜索", "品类关键词搜索")
  84. sph_sou_count = sqlCollect.get_channel_count("视频号搜索", "品类关键词搜索")
  85. ytd_sph_sou_count = sqlCollect.get_ytd_channel_count("视频号搜索", "品类关键词搜索")
  86. dy_count = sqlCollect.get_name_count("抖音品类账号")
  87. ytd_dy_count = sqlCollect.get_ytd_name_count("抖音品类账号")
  88. ks_count = sqlCollect.get_name_count("快手品类账号")
  89. ytd_ks_count = sqlCollect.get_ytd_name_count("快手品类账号")
  90. sph_count = sqlCollect.get_name_count("视频号品类账号")
  91. ytd_sph_count = sqlCollect.get_ytd_name_count("视频号品类账号")
  92. xx_count = sqlCollect.get_name_count("信欣")
  93. ytd_xx_count = sqlCollect.get_ytd_name_count("信欣")
  94. dd_count = sqlCollect.get_name_count("单点视频")
  95. ytd_dd_count = sqlCollect.get_ytd_name_count("单点视频")
  96. text = (
  97. f"**抖音品类账号: 今日**{int(dy_count[0][0])}**条/昨日**{int(ytd_dy_count[0][0])}**条/每日目标量:1500条**\n"
  98. f"**抖音搜索: 今日**{int(dy_sou_count[0][0])}**条/昨日**{int(ytd_dy_sou_count[0][0])}**条/每日目标量:1200条**\n"
  99. f"**视频号品类账号: 今日**{int(sph_count[0][0])}**条/昨日**{int(ytd_sph_count[0][0])}**条/每日目标量:350条**\n"
  100. f"**视频号推荐流: 今日**{int(sph_feed_count[0][0])}**条/昨日**{int(ytd_sph_feed_count[0][0])}**条/每日目标量:200条**\n"
  101. f"**视频号搜索: 今日**{int(sph_sou_count[0][0])}**条/昨日**{int(ytd_sph_sou_count[0][0])}**条/每日目标量:100条**\n"
  102. f"**快手品类账号: 今日**{int(ks_count[0][0])}**条/昨日**{int(ytd_ks_count[0][0])}**条/每日目标量:900条**\n"
  103. f"**快手推荐流: 今日**{int(ks_feed_count[0][0])}**条/昨日**{int(ytd_ks_feed_count[0][0])}**条/每日目标量:100条**\n"
  104. f"**快手小程序: 今日**{int(ks_xcx_count[0][0])}**条/昨日**{int(ytd_ks_xcx_count[0][0])}**条/每日目标量:?条**\n"
  105. f"**快手搜索: 今日**{int(ks_sou_count[0][0])}**条/昨日**{int(ytd_ks_sou_count[0][0])}**条/每日目标量:650条**\n"
  106. f"**相似溯源(xx): 今日**{int(xx_count[0][0])}**条/昨日**{int(ytd_xx_count[0][0])}**条/每日目标量:200条**\n"
  107. f"**单点视频: 今日**{int(dd_count[0][0])}**条/昨日**{int(ytd_dd_count[0][0])}**条**\n"
  108. )
  109. Feishu.finish_bot(text,
  110. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  111. f"【 自制视频{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  112. except Exception as e:
  113. logger.error(f"[+] 报警失败{e}")
  114. def schedule_tasks():
  115. schedule.every().hour.at(":05").do(bot_carry_data)
  116. schedule.every().hour.at(":10").do(bot_crawler_data)
  117. schedule.every().hour.at(":08").do(bot_bygj_data)
  118. if __name__ == "__main__":
  119. # bot_bygj_data()
  120. # bot_crawler_data()
  121. schedule_tasks() # 调用任务调度函数
  122. while True:
  123. schedule.run_pending()
  124. time.sleep(1) # 每秒钟检查一次
  125. # bot_carry_data()