Browse Source

节日提醒上线

罗俊辉 1 year ago
parent
commit
dede7c5ac6
3 changed files with 446 additions and 74 deletions
  1. 392 0
      app/festival_reminder.py
  2. 0 74
      spider/crawler_search/__init__.py
  3. 54 0
      spider/crawler_search/baidu_search.py

+ 392 - 0
app/festival_reminder.py

@@ -0,0 +1,392 @@
+"""
+节日提醒, festival reminder
+"""
+import json
+import datetime
+import time
+
+import requests
+import schedule
+
+
+def bot(festival_info, days_count, date_str):
+    """
+    机器人
+    """
+    level = festival_info["level"]
+    festival = festival_info["festival"]
+    category = festival_info["category"]
+    url = "https://open.feishu.cn/open-apis/bot/v2/hook/8eda2f73-e6f5-4fcd-944e-5a34579e1049"
+    # url = "https://open.feishu.cn/open-apis/bot/v2/hook/f32c0456-847f-41f3-97db-33fcc1616bcd"
+    headers = {"Content-Type": "application/json"}
+
+    if level == "P0":
+        payload = {
+            "msg_type": "interactive",
+            "card": {
+                "elements": [
+                    {
+                        "tag": "div",
+                        "text": {
+                            "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
+                            "tag": "lark_md"
+                        }
+                    },
+                    {
+                        "tag": "div",
+                        "text": {
+                            "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
+                                category, festival, days_count, festival, date_str
+                            ),
+                            "tag": "lark_md",
+                        },
+                    },
+                ],
+                "header": {"title": {"content": "【🔥P0重点关注】", "tag": "plain_text"}},
+            },
+        }
+        requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
+    if level == "P1":
+        payload = {
+            "msg_type": "interactive",
+            "card": {
+                "elements": [
+                    {
+                        "tag": "div",
+                        "text": {
+                            "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
+                            "tag": "lark_md"
+                        }
+                    },
+                    {
+                        "tag": "div",
+                        "text": {
+                            "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
+                                category, festival, days_count, festival, date_str
+                            ),
+                            "tag": "lark_md",
+                        },
+                    },
+                ],
+                "header": {"title": {"content": "【💡P1关注】", "tag": "plain_text"}},
+            },
+        }
+        requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
+
+
+class FestivalReminder(object):
+    """
+    节日提醒对象
+    """
+
+    def __init__(self):
+        self.festival_dict = {
+            "2024": {
+                "2024-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
+                "2024-01-18": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
+                "2024-02-02": [{"level": "P0", "festival": "小年", "category": "节假日"}],
+                "2024-02-03": [{"level": "p0", "festival": "小年", "category": "节假日"}],
+                "2024-02-09": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
+                "2024-02-10": [
+                    {"level": "P0", "festival": "春节", "category": "节假日"},
+                    {"level": "P0", "festival": "正月初一", "category": "节假日"},
+                ],
+                "2024-02-11": [{"level": "P0", "festival": "正月初二", "category": "节假日"}],
+                "2024-02-12": [{"level": "P0", "festival": "正月初三", "category": "节假日"}],
+                "2024-02-13": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
+                "2024-02-14": [
+                    {"level": "P0", "festival": "正月初五", "category": "节假日"},
+                    {"level": "P1", "festival": "情人节", "category": "节假日"},
+                ],
+                "2024-02-24": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
+                "2024-03-11": [{"level": "P0", "festival": "龙抬头", "category": "节假日"}],
+                "2024-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
+                "2024-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
+                "2024-05-12": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
+                "2024-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
+                "2024-06-10": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
+                "2024-06-16": [{"level": "P0", "festival": "父亲节", "category": "节假日"}],
+                "2024-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
+                "2024-07-07": [{"level": "P0", "festival": "七七事变", "category": "节假日"}],
+                "2024-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
+                "2024-08-10": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
+                "2024-08-18": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
+                "2024-09-17": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
+                "2024-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
+                "2024-10-11": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
+                "2024-11-28": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
+                "2024-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
+                "2024-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
+                "2024-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
+                "2024-01-06": [{"level": "P1", "festival": "小寒", "category": "节气"}],
+                "2024-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
+                "2024-02-04": [{"level": "P0", "festival": "立春", "category": "节气"}],
+                "2024-02-19": [
+                    {"level": "P1", "festival": "雨水", "category": "节气"},
+                    {"level": "P0", "festival": "邓小平逝世", "category": "纪念日"},
+                ],
+                "2024-03-05": [
+                    {"level": "P1", "festival": "惊蛰", "category": "节气"},
+                    {"level": "P0", "festival": "周恩来诞辰", "category": "纪念日"},
+                    {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
+                ],
+                "2024-03-20": [{"level": "P1", "festival": "春分", "category": "节气"}],
+                "2024-04-04": [{"level": "P0", "festival": "清明", "category": "节气"}],
+                "2024-04-19": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
+                "2024-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
+                "2024-05-20": [{"level": "P1", "festival": "小满", "category": "节气"}],
+                "2024-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
+                "2024-06-21": [{"level": "P1", "festival": "夏至", "category": "节气"}],
+                "2024-07-06": [
+                    {"level": "P1", "festival": "小暑", "category": "节气"},
+                    {"level": "P1", "festival": "朱德逝世", "category": "纪念日"},
+                ],
+                "2024-07-22": [{"level": "P1", "festival": "大暑", "category": "节气"}],
+                "2024-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
+                "2024-08-22": [
+                    {"level": "P1", "festival": "处暑", "category": "节气"},
+                    {"level": "P0", "festival": "邓小平诞辰", "category": "纪念日"},
+                ],
+                "2024-09-07": [
+                    {"level": "P1", "festival": "白露", "category": "节气"},
+                    {"level": "P1", "festival": "袁隆平诞辰", "category": "纪念日"},
+                ],
+                "2024-09-22": [{"level": "P1", "festival": "秋分", "category": "节气"}],
+                "2024-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
+                "2024-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
+                "2024-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
+                "2024-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
+                "2024-12-06": [{"level": "P1", "festival": "大雪", "category": "节气"}],
+                "2024-12-21": [{"level": "P0", "festival": "冬至", "category": "节气"}],
+                "2024-11-12": [{"level": "P1", "festival": "孙中山诞辰", "category": "纪念日"}],
+                "2024-03-12": [{"level": "P1", "festival": "孙中山逝世", "category": "纪念日"}],
+                "2024-12-26": [{"level": "P0", "festival": "毛主席诞辰", "category": "纪念日"}],
+                "2024-09-09": [{"level": "P0", "festival": "毛主席逝世", "category": "纪念日"}],
+                "2024-01-08": [{"level": "P0", "festival": "周恩来逝世", "category": "纪念日"}],
+                "2024-07-03": [{"level": "P0", "festival": "李克强诞辰", "category": "纪念日"}],
+                "2024-10-27": [
+                    {"level": "P0", "festival": "李克强逝世", "category": "纪念日"},
+                    {"level": "P1", "festival": "吴尊友逝世", "category": "纪念日"},
+                ],
+                "2024-05-22": [{"level": "P1", "festival": "袁隆平逝世", "category": "纪念日"}],
+                "2024-10-24": [{"level": "P1", "festival": "彭德怀诞辰", "category": "纪念日"}],
+                "2024-11-29": [{"level": "P1", "festival": "彭德怀逝世", "category": "纪念日"}],
+                "2024-12-01": [{"level": "P1", "festival": "朱德诞辰", "category": "纪念日"}],
+            },
+            "2025": {
+                "2025-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
+                "2025-01-07": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
+                "2025-01-22": [{"level": "P0", "festival": "小年", "category": "节假日"}],
+                "2025-01-23": [{"level": "p0", "festival": "小年", "category": "节假日"}],
+                "2025-01-28": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
+                "2025-01-29": [
+                    {"level": "P0", "festival": "春节", "category": "节假日"},
+                    {"level": "P0", "festival": "正月初一", "category": "节假日"},
+                ],
+                "2025-01-30": [{"level": "P0", "festival": "正月初二", "category": "节假日"}],
+                "2025-01-31": [{"level": "P0", "festival": "正月初三", "category": "节假日"}],
+                "2025-02-01": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
+                "2025-02-02": [{"level": "P0", "festival": "正月初五", "category": "节假日"}],
+                "2025-02-14": [{"level": "P1", "festival": "情人节", "category": "节假日"}],
+                "2025-02-22": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
+                "2025-03-01": [{"level": "P0", "festival": "龙抬头", "category": "节假日"}],
+                "2025-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
+                "2025-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
+                "2025-05-11": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
+                "2025-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
+                "2025-05-31": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
+                "2025-06-15": [{"level": "P0", "festival": "父亲节", "category": "节假日"}],
+                "2025-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
+                "2054-07-07": [{"level": "P0", "festival": "七七事变", "category": "节假日"}],
+                "2025-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
+                "2025-08-29": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
+                "2025-09-06": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
+                "2025-10-06": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
+                "2025-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
+                "2025-10-29": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
+                "2024-11-27": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
+                "2025-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
+                "2025-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
+                "2025-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
+                "2025-01-05": [{"level": "P1", "festival": "小寒", "category": "节气"}],
+                "2025-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
+                "2025-02-03": [{"level": "P0", "festival": "立春", "category": "节气"}],
+                "2025-02-18": [{"level": "P1", "festival": "雨水", "category": "节气"}],
+                "2025-03-05": [
+                    {"level": "P1", "festival": "惊蛰", "category": "节气"},
+                    {"level": "P0", "festival": "周恩来诞辰", "category": "纪念日"},
+                    {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
+                ],
+                "2025-03-20": [{"level": "P1", "festival": "春分", "category": "节气"}],
+                "2025-04-04": [{"level": "P0", "festival": "清明", "category": "节气"}],
+                "2025-04-20": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
+                "2025-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
+                "2025-05-21": [{"level": "P1", "festival": "小满", "category": "节气"}],
+                "2025-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
+                "2025-06-21": [{"level": "P1", "festival": "夏至", "category": "节气"}],
+                "2025-07-07": [{"level": "P1", "festival": "小暑", "category": "节气"}],
+                "2025-07-22": [{"level": "P1", "festival": "大暑", "category": "节气"}],
+                "2025-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
+                "2025-08-23": [{"level": "P1", "festival": "处暑", "category": "节气"}],
+                "2025-09-07": [
+                    {"level": "P1", "festival": "白露", "category": "节气"},
+                    {"level": "P1", "festival": "袁隆平诞辰", "category": "纪念日"},
+                ],
+                "2025-09-23": [{"level": "P1", "festival": "秋分", "category": "节气"}],
+                "2025-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
+                "2025-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
+                "2025-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
+                "2025-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
+                "2025-12-07": [{"level": "P1", "festival": "大雪", "category": "节气"}],
+                "2025-12-21": [{"level": "P0", "festival": "冬至", "category": "节气"}],
+                "2025-11-12": [{"level": "P1", "festival": "孙中山诞辰", "category": "纪念日"}],
+                "2025-03-12": [{"level": "P1", "festival": "孙中山逝世", "category": "纪念日"}],
+                "2025-12-26": [{"level": "P0", "festival": "毛主席诞辰", "category": "纪念日"}],
+                "2025-09-09": [{"level": "P0", "festival": "毛主席逝世", "category": "纪念日"}],
+                "2025-01-08": [{"level": "P0", "festival": "周恩来逝世", "category": "纪念日"}],
+                "2025-08-22": [{"level": "P0", "festival": "邓小平诞辰", "category": "纪念日"}],
+                "2025-02-19": [{"level": "P0", "festival": "邓小平逝世", "category": "纪念日"}],
+                "2025-07-03": [{"level": "P0", "festival": "李克强诞辰", "category": "纪念日"}],
+                "2025-10-27": [
+                    {"level": "P0", "festival": "李克强逝世", "category": "纪念日"},
+                    {"level": "P1", "festival": "吴尊友逝世", "category": "纪念日"},
+                ],
+                "2025-05-22": [{"level": "P1", "festival": "袁隆平逝世", "category": "纪念日"}],
+                "2025-10-24": [{"level": "P1", "festival": "彭德怀诞辰", "category": "纪念日"}],
+                "2025-11-29": [{"level": "P1", "festival": "彭德怀逝世", "category": "纪念日"}],
+                "2025-12-01": [{"level": "P1", "festival": "朱德诞辰", "category": "纪念日"}],
+                "2025-07-06": [{"level": "P1", "festival": "朱德逝世", "category": "纪念日"}],
+            },
+            "2026": {
+                "2026-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
+                "2026-01-26": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
+                "2026-02-10": [{"level": "P0", "festival": "小年", "category": "节假日"}],
+                "2026-02-11": [{"level": "p0", "festival": "小年", "category": "节假日"}],
+                "2026-02-16": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
+                "2026-02-17": [
+                    {"level": "P0", "festival": "春节", "category": "节假日"},
+                    {"level": "P0", "festival": "正月初一", "category": "节假日"},
+                ],
+                "2026-02-18": [
+                    {"level": "P0", "festival": "正月初二", "category": "节假日"},
+                    {"level": "P1", "festival": "雨水", "category": "节气"},
+                ],
+                "2026-02-19": [
+                    {"level": "P0", "festival": "正月初三", "category": "节假日"},
+                    {"level": "P0", "festival": "邓小平逝世", "category": "纪念日"},
+                ],
+                "2026-02-20": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
+                "2026-02-21": [{"level": "P0", "festival": "正月初五", "category": "节假日"}],
+                "2026-02-14": [{"level": "P1", "festival": "情人节", "category": "节假日"}],
+                "2026-03-03": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
+                "2026-03-20": [
+                    {"level": "P0", "festival": "龙抬头", "category": "节假日"},
+                    {"level": "P1", "festival": "春分", "category": "节气"},
+                ],
+                "2026-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
+                "2026-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
+                "2026-05-10": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
+                "2026-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
+                "2026-06-19": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
+                "2026-06-21": [
+                    {"level": "P0", "festival": "父亲节", "category": "节假日"},
+                    {"level": "P1", "festival": "夏至", "category": "节气"},
+                ],
+                "2026-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
+                "2026-07-07": [
+                    {"level": "P0", "festival": "七七事变", "category": "节假日"},
+                    {"level": "P1", "festival": "小暑", "category": "节气"},
+                ],
+                "2026-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
+                "2026-08-19": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
+                "2026-08-27": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
+                "2026-09-25": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
+                "2026-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
+                "2026-10-18": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
+                "2026-11-26": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
+                "2026-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
+                "2026-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
+                "2026-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
+                "2026-01-05": [{"level": "P1", "festival": "小寒", "category": "节气"}],
+                "2026-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
+                "2026-02-04": [{"level": "P0", "festival": "立春", "category": "节气"}],
+                "2026-03-05": [
+                    {"level": "P1", "festival": "惊蛰", "category": "节气"},
+                    {"level": "P0", "festival": "周恩来诞辰", "category": "纪念日"},
+                    {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
+                ],
+                "2026-04-05": [{"level": "P0", "festival": "清明", "category": "节气"}],
+                "2026-04-20": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
+                "2026-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
+                "2026-05-21": [{"level": "P1", "festival": "小满", "category": "节气"}],
+                "2026-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
+                "2026-07-23": [{"level": "P1", "festival": "大暑", "category": "节气"}],
+                "2026-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
+                "2026-08-23": [{"level": "P1", "festival": "处暑", "category": "节气"}],
+                "2026-09-07": [
+                    {"level": "P1", "festival": "白露", "category": "节气"},
+                    {"level": "P1", "festival": "袁隆平诞辰", "category": "纪念日"},
+                ],
+                "2026-09-23": [{"level": "P1", "festival": "秋分", "category": "节气"}],
+                "2026-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
+                "2026-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
+                "2026-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
+                "2026-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
+                "2026-12-07": [{"level": "P1", "festival": "大雪", "category": "节气"}],
+                "2026-12-22": [{"level": "P0", "festival": "冬至", "category": "节气"}],
+                "2026-11-12": [{"level": "P1", "festival": "孙中山诞辰", "category": "纪念日"}],
+                "2026-03-12": [{"level": "P1", "festival": "孙中山逝世", "category": "纪念日"}],
+                "2026-12-26": [{"level": "P0", "festival": "毛主席诞辰", "category": "纪念日"}],
+                "2026-09-09": [{"level": "P0", "festival": "毛主席逝世", "category": "纪念日"}],
+                "2026-01-08": [{"level": "P0", "festival": "周恩来逝世", "category": "纪念日"}],
+                "2026-08-22": [{"level": "P0", "festival": "邓小平诞辰", "category": "纪念日"}],
+                "2026-07-03": [{"level": "P0", "festival": "李克强诞辰", "category": "纪念日"}],
+                "2026-10-27": [
+                    {"level": "P0", "festival": "李克强逝世", "category": "纪念日"},
+                    {"level": "P1", "festival": "吴尊友逝世", "category": "纪念日"},
+                ],
+                "2026-05-22": [{"level": "P1", "festival": "袁隆平逝世", "category": "纪念日"}],
+                "2026-10-24": [{"level": "P1", "festival": "彭德怀诞辰", "category": "纪念日"}],
+                "2026-11-29": [{"level": "P1", "festival": "彭德怀逝世", "category": "纪念日"}],
+                "2026-12-01": [{"level": "P1", "festival": "朱德诞辰", "category": "纪念日"}],
+                "2026-07-06": [{"level": "P1", "festival": "朱德逝世", "category": "纪念日"}],
+            },
+        }
+
+    def date_checker(self):
+        """
+        check date of reminder
+        :return:
+        """
+        year = datetime.datetime.today().strftime("%Y")
+        today = datetime.datetime.today()
+        tomorrow = today + datetime.timedelta(days=1)
+        tomorrow = tomorrow.strftime("%Y-%m-%d")
+        in_three_days = today + datetime.timedelta(days=2)
+        in_three_days = in_three_days.strftime("%Y-%m-%d")
+        if self.festival_dict[year].get(tomorrow):
+            festival_list = self.festival_dict[year][tomorrow]
+            for festival_ in festival_list:
+                bot(festival_info=festival_, days_count=1, date_str=tomorrow)
+                time.sleep(30)
+        if self.festival_dict[year].get(in_three_days):
+            festival_list = self.festival_dict[year][in_three_days]
+            for festival_ in festival_list:
+                bot(festival_info=festival_, days_count=3, date_str=in_three_days)
+                time.sleep(30)
+
+    def run(self):
+        """
+        执行定时任务
+        :return:
+        """
+        schedule.every().day.at("15:30").do(self.date_checker)
+
+        while True:
+            schedule.run_pending()
+            time.sleep(10)
+
+
+if __name__ == "__main__":
+    F = FestivalReminder()
+    F.run()

+ 0 - 74
spider/crawler_search/__init__.py

@@ -1,74 +0,0 @@
-import requests
-
-
-def search_user(keyword):
-    url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/search/user?'
-    data = {
-        "keyword": keyword,
-        "pcursor": "",
-        "ussid": ""
-    }
-    return requests.post(url, headers=headers, json=data).text
-
-
-def search_video(keyword):
-    url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/search/feed?'
-    data = {
-        "keyword": keyword,
-        "pcursor": "",
-        "ussid": "",
-        "pageSource": 1
-
-    }
-    return requests.post(url, headers=headers, json=data).text
-
-
-def video_info():
-    url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/photo/info?'
-    data = {
-        "kpn": "WECHAT_SMALL_APP",
-        "photoId": "5254293468891588895",
-        "authorId": "1346454001",
-        "usePrefetch": True,
-        "pageType": 1,
-        "pageSource": 3
-    }
-    return requests.post(url, headers=headers, json=data).text
-
-
-def video_comment():
-    url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/photo/comment/list?'
-    data = {
-        "photoId": "5254293468891588895",
-        "count": 20
-    }
-    return requests.post(url, headers=headers, json=data).text
-
-
-def user_profile():
-    url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/user/profile?'
-    data = {
-        "eid": "1084678836"
-    }
-    return requests.post(url, headers=headers, json=data).text
-
-
-user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat'
-referer = 'https://servicewechat.com/wx79a83b1a1e8a7978/591/page-frame.html'
-cookie = 'did=填入你的'
-
-headers = {
-    'Host': 'wxmini-api.uyouqu.com',
-    # 'referer':referer,
-    'User-Agent': user_agent,
-    'cookie': cookie
-}
-data = {
-    "keyword": "河南到底有多热",
-    "pcursor": "",
-    "ussid": "",
-    "pageSource": 1
-
-}
-
-print(search_video('lx'))

+ 54 - 0
spider/crawler_search/baidu_search.py

@@ -0,0 +1,54 @@
+
+"""
+好看视频搜索爬虫
+"""
+import json
+
+import requests
+import urllib.parse
+import time
+import hashlib
+
+
+def hksp_search(key):
+    """
+    好看视频搜索爬虫
+    """
+    timestamp_seconds = time.time()
+    timestamp_milliseconds = int(timestamp_seconds * 1000)
+    url = 'https://haokan.baidu.com/haokan/ui-search/pc/search/video'
+    # 定义请求的参数
+    strings = "{}_{}_{}_{}_{}".format(1, urllib.parse.quote(key), 10, timestamp_milliseconds, 1)
+    sign = hashlib.md5(strings.encode()).hexdigest()
+    params = {
+        'pn': 1,
+        'rn': 10,
+        'type': 'video',
+        'query': key,
+        'sign': sign,
+        'version': 1,
+        'timestamp': timestamp_milliseconds
+    }
+    # 定义请求头
+    headers = {
+        'authority': 'haokan.baidu.com',
+        'accept': '*/*',
+        'accept-language': 'zh,en;q=0.9,zh-CN;q=0.8',
+        'cookie': "BIDUPSID='",
+        # 'referer': 'https://haokan.baidu.com/web/search/page?query=%E8%80%81%E4%BA%BA',
+        'sec-ch-ua': '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
+        'sec-ch-ua-mobile': '?0',
+        'sec-ch-ua-platform': '"macOS"',
+        'sec-fetch-dest': 'empty',
+        'sec-fetch-mode': 'cors',
+        'sec-fetch-site': 'same-origin',
+        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36',
+        'x-requested-with': 'xmlhttprequest',
+    }
+    # 发送GET请求
+    response = requests.get(url, headers=headers, params=params).json()
+    print(json.dumps(response, ensure_ascii=False, indent=4))
+
+
+if __name__ == '__main__':
+    hksp_search("王雪珂")