insert.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import json
  2. import os
  3. import sys
  4. import time
  5. from datetime import date, timedelta
  6. sys.path.append(os.getcwd())
  7. from common.scheduling_db import MysqlHelper
  8. from common.feishu import Feishu
  9. class Demo:
  10. @classmethod
  11. def get_config(cls, log_type, crawler, text, env):
  12. select_sql = f"""select * from crawler_config where source="xigua" """
  13. contents = MysqlHelper.get_values(log_type, crawler, select_sql, env, action='')
  14. title_list = []
  15. filter_list = []
  16. for content in contents:
  17. config = content['config']
  18. config_dict = eval(config)
  19. for k, v in config_dict.items():
  20. if k == "title":
  21. title_list_config = v.split(",")
  22. for title in title_list_config:
  23. title_list.append(title)
  24. if k == "filter":
  25. filter_list_config = v.split(",")
  26. for filter_word in filter_list_config:
  27. filter_list.append(filter_word)
  28. if text == "title":
  29. return title_list
  30. elif text == "filter":
  31. return filter_list
  32. @classmethod
  33. def before_day(cls):
  34. publish_time_str_rule = (date.today() + timedelta(days=-30)).strftime("%Y-%m-%d %H:%M:%S")
  35. publish_time_stamp_rule = int(time.mktime(time.strptime(publish_time_str_rule, "%Y-%m-%d %H:%M:%S")))
  36. print(publish_time_str_rule)
  37. print(publish_time_stamp_rule)
  38. @classmethod
  39. def insert_config(cls, log_type, crawler, env):
  40. filter_sheet = Feishu.get_values_batch(log_type, crawler, "KGB4Hc")
  41. title_sheet = Feishu.get_values_batch(log_type, crawler, "bHSW1p")
  42. filter_list = []
  43. title_list = []
  44. for x in filter_sheet:
  45. for y in x:
  46. if y is None:
  47. pass
  48. else:
  49. filter_list.append(y)
  50. for x in title_sheet:
  51. for y in x:
  52. if y is None:
  53. pass
  54. else:
  55. title_list.append(y)
  56. str_title = ','.join(title_list)
  57. str_filter = ','.join(filter_list)
  58. config_dict = {
  59. "title": str_title,
  60. "filter": str_filter
  61. }
  62. str_config_dict = str(config_dict)
  63. # print(f"config_dict:{config_dict}")
  64. # print(f"str_config_dict:{str_config_dict}")
  65. insert_sql = f""" insert into crawler_config(title, source, config) values("西瓜视频", "xigua", "{str_config_dict}") """
  66. MysqlHelper.update_values(log_type, crawler, insert_sql, env)
  67. if __name__ == "__main__":
  68. # Demo.get_config("demo", "xiaoniangao", "dev")
  69. # Demo.before_day()
  70. Demo.insert_config("demo", "xigua", "prod")
  71. pass