video_count_notification.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. """爬虫"""
  9. def bot_crawler_data():
  10. try:
  11. xng_author = sqlCollect.get_crawler_count("xiaoniangao")
  12. xng_author_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangao")
  13. xng_tjl = sqlCollect.get_crawler_count("xiaoniangaotuijianliu")
  14. xng_tjl_ytd = sqlCollect.get_ytd_crawler_count("xiaoniangaotuijianliu")
  15. zfqz_tjl = sqlCollect.get_crawler_count("zhufuquanzituijianliu")
  16. zfqz_tjl_ytd = sqlCollect.get_ytd_crawler_count("zhufuquanzituijianliu")
  17. bszf = sqlCollect.get_crawler_count("benshanzhufu")
  18. bszf_ytd = sqlCollect.get_ytd_crawler_count("benshanzhufu")
  19. fqw = sqlCollect.get_crawler_count("fuqiwang")
  20. fqw_ytd = sqlCollect.get_ytd_crawler_count("fuqiwang")
  21. jdfqw = sqlCollect.get_crawler_count("jingdianfuqiwang")
  22. jdfqw_ytd = sqlCollect.get_ytd_crawler_count("jingdianfuqiwang")
  23. ttjfq = sqlCollect.get_crawler_count("tiantianjufuqi")
  24. ttjfq_ytd = sqlCollect.get_ytd_crawler_count("tiantianjufuqi")
  25. text = (
  26. f"**小年糕: 当日**{int(xng_author[0][0])}**条/昨日**{int(xng_author_ytd[0][0])}**条**\n"
  27. f"**小年糕推荐流: 当日**{int(xng_tjl[0][0])}**条/昨日**{int(xng_tjl_ytd[0][0])}**条**\n"
  28. f"**祝福圈子推荐流: 当日**{int(zfqz_tjl[0][0])}**条/昨日**{int(zfqz_tjl_ytd[0][0])}**条**\n"
  29. f"**本山祝福: 当日**{int(bszf[0][0])}**条/昨日**{int(bszf_ytd[0][0])}**条**\n"
  30. f"**福气旺: 当日**{int(fqw[0][0])}**条/昨日**{int(fqw_ytd[0][0])}**条**\n"
  31. f"**经典福气旺: 当日**{int(jdfqw[0][0])}**条/昨日**{int(jdfqw_ytd[0][0])}**条**\n"
  32. f"**天天聚福气: 当日**{int(ttjfq[0][0])}**条/昨日**{int(ttjfq_ytd[0][0])}**条**\n"
  33. )
  34. Feishu.finish_bot(text,
  35. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  36. f"【 爬虫{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  37. except Exception as e:
  38. logger.error(f"[+] 报警失败{e}")
  39. """机器自制"""
  40. def bot_carry_data():
  41. try:
  42. sph_feed_count = sqlCollect.get_channel_count("视频号推荐流", "视频号推荐流")
  43. ytd_sph_feed_count = sqlCollect.get_ytd_channel_count("视频号推荐流", "视频号推荐流")
  44. ks_feed_count = sqlCollect.get_channel_count("快手推荐流", "快手推荐流")
  45. ytd_ks_feed_count = sqlCollect.get_ytd_channel_count("快手推荐流", "快手推荐流")
  46. ks_xcx_count = sqlCollect.get_channel_count("快手小程序", "快手小程序")
  47. ytd_ks_xcx_count = sqlCollect.get_ytd_channel_count("快手小程序", "快手小程序")
  48. ks_sou_count = sqlCollect.get_channel_count("快手搜索", "品类关键词搜索")
  49. ytd_ks_sou_count = sqlCollect.get_ytd_channel_count("快手搜索", "品类关键词搜索")
  50. dy_sou_count = sqlCollect.get_channel_count("抖音搜索", "品类关键词搜索")
  51. ytd_dy_sou_count = sqlCollect.get_ytd_channel_count("抖音搜索", "品类关键词搜索")
  52. sph_sou_count = sqlCollect.get_channel_count("视频号搜索", "品类关键词搜索")
  53. ytd_sph_sou_count = sqlCollect.get_ytd_channel_count("视频号搜索", "品类关键词搜索")
  54. dy_count = sqlCollect.get_name_count("抖音品类账号")
  55. ytd_dy_count = sqlCollect.get_ytd_name_count("抖音品类账号")
  56. ks_count = sqlCollect.get_name_count("快手品类账号")
  57. ytd_ks_count = sqlCollect.get_ytd_name_count("快手品类账号")
  58. sph_count = sqlCollect.get_name_count("视频号品类账号")
  59. ytd_sph_count = sqlCollect.get_ytd_name_count("视频号品类账号")
  60. xx_count = sqlCollect.get_name_count("信欣")
  61. ytd_xx_count = sqlCollect.get_ytd_name_count("信欣")
  62. dd_count = sqlCollect.get_name_count("单点视频")
  63. ytd_dd_count = sqlCollect.get_ytd_name_count("单点视频")
  64. text = (
  65. f"**抖音品类账号: 今日**{int(dy_count[0][0])}**条/昨日**{int(ytd_dy_count[0][0])}**条/每日目标量:1500条**\n"
  66. f"**抖音搜索: 今日**{int(dy_sou_count[0][0])}**条/昨日**{int(ytd_dy_sou_count[0][0])}**条/每日目标量:1200条**\n"
  67. f"**视频号品类账号: 今日**{int(sph_count[0][0])}**条/昨日**{int(ytd_sph_count[0][0])}**条/每日目标量:350条**\n"
  68. f"**视频号推荐流: 今日**{int(sph_feed_count[0][0])}**条/昨日**{int(ytd_sph_feed_count[0][0])}**条/每日目标量:200条**\n"
  69. f"**视频号搜索: 今日**{int(sph_sou_count[0][0])}**条/昨日**{int(ytd_sph_sou_count[0][0])}**条/每日目标量:100条**\n"
  70. f"**快手品类账号: 今日**{int(ks_count[0][0])}**条/昨日**{int(ytd_ks_count[0][0])}**条/每日目标量:900条**\n"
  71. f"**快手推荐流: 今日**{int(ks_feed_count[0][0])}**条/昨日**{int(ytd_ks_feed_count[0][0])}**条/每日目标量:100条**\n"
  72. f"**快手小程序: 今日**{int(ks_xcx_count[0][0])}**条/昨日**{int(ytd_ks_xcx_count[0][0])}**条/每日目标量:?条**\n"
  73. f"**快手搜索: 今日**{int(ks_sou_count[0][0])}**条/昨日**{int(ytd_ks_sou_count[0][0])}**条/每日目标量:650条**\n"
  74. f"**相似溯源(xx): 今日**{int(xx_count[0][0])}**条/昨日**{int(ytd_xx_count[0][0])}**条/每日目标量:200条**\n"
  75. f"**单点视频: 今日**{int(dd_count[0][0])}**条/昨日**{int(ytd_dd_count[0][0])}**条**\n"
  76. )
  77. Feishu.finish_bot(text,
  78. "https://open.feishu.cn/open-apis/bot/v2/hook/805ab4fe-0246-409c-b383-ea25831148e6",
  79. f"【 自制视频{datetime.now().strftime('%Y年%m月%d日 %H时')}与昨天当前小时之前的数据 】")
  80. except Exception as e:
  81. logger.error(f"[+] 报警失败{e}")
  82. def schedule_tasks():
  83. schedule.every().hour.at(":05").do(bot_carry_data)
  84. schedule.every().hour.at(":10").do(bot_crawler_data)
  85. if __name__ == "__main__":
  86. # bot_crawler_data()
  87. schedule_tasks() # 调用任务调度函数
  88. while True:
  89. schedule.run_pending()
  90. time.sleep(1) # 每秒钟检查一次
  91. # bot_carry_data()