Просмотр исходного кода

task4.py 增加超时处理,超时设置120s

罗俊辉 7 месяцев назад
Родитель
Сommit
6496cd8164

+ 1 - 1
applications/decoratorApi.py

@@ -17,7 +17,7 @@ def retryOnNone():
         :return:
         """
         max_retries = 10
-        wait_seconds = 1
+        wait_seconds = 2
 
         def wrapper(*args, **kwargs):
             """

+ 2 - 2
applications/wxSpiderApi.py

@@ -60,7 +60,7 @@ class WeixinSpider(object):
         """
         :return:
         """
-        url = 'http://8.217.190.241:8888/crawler/wei_xin/blogger'
+        url = 'http://47.98.154.124:8888/crawler/wei_xin/blogger'
         payload = {
             'account_id': ghId,
             'cursor': index,
@@ -82,7 +82,7 @@ class WeixinSpider(object):
         """
         response = requests.request(
             "POST",
-            url='http://8.217.190.241:8888/crawler/wei_xin/account_info',
+            url='http://47.98.154.124:8888/crawler/wei_xin/account_info',
             headers={'Content-Type': 'application/json'},
             json={"content_link": content_url}
         )

+ 3 - 0
coldStartTasks/__init__.py

@@ -0,0 +1,3 @@
+"""
+@author: luojunhui
+"""

+ 847 - 0
config/accountInfoV2.json

@@ -0,0 +1,847 @@
+[
+    {
+        "name": "票圈大事件",
+        "ghId": "gh_9e559b3b94ca",
+        "type": "订阅号",
+        "follower_count": 20151
+    },
+    {
+        "name": "生活情感叁读",
+        "ghId": "gh_084a485e859a",
+        "type": "订阅号",
+        "follower_count": 119390
+    },
+    {
+        "name": "票圈最新消息",
+        "ghId": "gh_1ee2e1b39ccf",
+        "type": "订阅号",
+        "follower_count": 2392
+    },
+    {
+        "name": "家家生活指南",
+        "ghId": "gh_4c058673c07e",
+        "type": "订阅号",
+        "follower_count": 265295
+    },
+    {
+        "name": "妙招持家帮手",
+        "ghId": "gh_de9f9ebc976b",
+        "type": "订阅号",
+        "follower_count": 162173
+    },
+    {
+        "name": "多彩妙生活",
+        "ghId": "gh_058e41145a0c",
+        "type": "订阅号",
+        "follower_count": 248357
+    },
+    {
+        "name": "异闻趣事多",
+        "ghId": "gh_7b4a5f86d68c",
+        "type": "订阅号",
+        "follower_count": 146521
+    },
+    {
+        "name": "窦都事说",
+        "ghId": "gh_4568b5a7e2fe",
+        "type": "订阅号",
+        "follower_count": 327363
+    },
+    {
+        "name": "史记趣言",
+        "ghId": "gh_adca24a8f429",
+        "type": "订阅号",
+        "follower_count": 124253
+    },
+    {
+        "name": "缘来养心厅",
+        "ghId": "gh_e24da99dc899",
+        "type": "订阅号",
+        "follower_count": 412276
+    },
+    {
+        "name": "心灵情感驿站",
+        "ghId": "gh_e0eb490115f5",
+        "type": "订阅号",
+        "follower_count": 311752
+    },
+    {
+        "name": "票圈极速版",
+        "ghId": "gh_d2cc901deca7",
+        "type": "订阅号",
+        "follower_count": 202237
+    },
+    {
+        "name": "票圈乐活",
+        "ghId": "gh_45beb952dc74",
+        "type": "服务号",
+        "follower_count": 125456
+    },
+    {
+        "name": "票圈原创视频精选",
+        "ghId": "gh_b8baac4296cb",
+        "type": "服务号",
+        "follower_count": 48965
+    },
+    {
+        "name": "票圈美文速递",
+        "ghId": "gh_26a307578776",
+        "type": "订阅号",
+        "follower_count": 21528
+    },
+    {
+        "name": "生活良读",
+        "ghId": "gh_183d80deffb8",
+        "type": "订阅号",
+        "follower_count": 88288
+    },
+    {
+        "name": "票圈热门",
+        "ghId": "gh_9cf3b7ff486b",
+        "type": "服务号",
+        "follower_count": 42959
+    },
+    {
+        "name": "票圈奇闻",
+        "ghId": "gh_b32125c73861",
+        "type": "服务号",
+        "follower_count": 28765
+    },
+    {
+        "name": "祝福养心厅",
+        "ghId": "gh_5ff48e9fb9ef",
+        "type": "订阅号",
+        "follower_count": 145985
+    },
+    {
+        "name": "音药金曲厅",
+        "ghId": "gh_9f8dc5b0c74e",
+        "type": "订阅号",
+        "follower_count": 161480
+    },
+    {
+        "name": "音药养心馆",
+        "ghId": "gh_6d9f36e3a7be",
+        "type": "订阅号",
+        "follower_count": 203744
+    },
+    {
+        "name": "小阳看天下",
+        "ghId": "gh_ac43e43b253b",
+        "type": "订阅号",
+        "follower_count": 436202
+    },
+    {
+        "name": "繁花史阁",
+        "ghId": "gh_d5f935d0d1f2",
+        "type": "订阅号",
+        "follower_count": 141329
+    },
+    {
+        "name": "退休无忧生活",
+        "ghId": "gh_be8c29139989",
+        "type": "订阅号",
+        "follower_count": 202699
+    },
+    {
+        "name": "农耕趣时刻",
+        "ghId": "gh_c91b42649690",
+        "type": "订阅号",
+        "follower_count": 222421
+    },
+    {
+        "name": "小惠爱厨房",
+        "ghId": "gh_93e00e187787",
+        "type": "订阅号",
+        "follower_count": 532811
+    },
+    {
+        "name": "趣史论",
+        "ghId": "gh_744cb16f6e16",
+        "type": "订阅号",
+        "follower_count": 237588
+    },
+    {
+        "name": "退休老年圈",
+        "ghId": "gh_9877c8541764",
+        "type": "订阅号",
+        "follower_count": 795385
+    },
+    {
+        "name": "幸福启示",
+        "ghId": "gh_0c89e11f8bf3",
+        "type": "订阅号",
+        "follower_count": 481413
+    },
+    {
+        "name": "指尖奇文",
+        "ghId": "gh_6d205db62f04",
+        "type": "订阅号",
+        "follower_count": 838698
+    },
+    {
+        "name": "老友欢聚地",
+        "ghId": "gh_c69776baf2cd",
+        "type": "订阅号",
+        "follower_count": 957667
+    },
+    {
+        "name": "幸福晚年知音",
+        "ghId": "gh_6b7c2a257263",
+        "type": "订阅号",
+        "follower_count": 240900
+    },
+    {
+        "name": "奇趣百味生活",
+        "ghId": "gh_bfe5b705324a",
+        "type": "订阅号",
+        "follower_count": 320778
+    },
+    {
+        "name": "老来生活家",
+        "ghId": "gh_29074b51f2b7",
+        "type": "订阅号",
+        "follower_count": 195222
+    },
+    {
+        "name": "便捷生活好方法",
+        "ghId": "gh_7e5818b2dd83",
+        "type": "订阅号",
+        "follower_count": 433229
+    },
+    {
+        "name": "生活百态观",
+        "ghId": "gh_89ef4798d3ea",
+        "type": "订阅号",
+        "follower_count": 827999
+    },
+    {
+        "name": "喜乐生活派",
+        "ghId": "gh_bff0bcb0694a",
+        "type": "订阅号",
+        "follower_count": 399409
+    },
+    {
+        "name": "畅聊奇闻",
+        "ghId": "gh_a2901d34f75b",
+        "type": "订阅号",
+        "follower_count": 384671
+    },
+    {
+        "name": "人生百事观",
+        "ghId": "gh_b15de7c99912",
+        "type": "订阅号",
+        "follower_count": 878739
+    },
+    {
+        "name": "老友闲谈",
+        "ghId": "gh_56ca3dae948c",
+        "type": "订阅号",
+        "follower_count": 849729
+    },
+    {
+        "name": "票圈正能量",
+        "ghId": "gh_e75dbdc73d80",
+        "type": "订阅号",
+        "follower_count": 20708
+    },
+    {
+        "name": "票圈精彩",
+        "ghId": "gh_5e543853d8f0",
+        "type": "服务号",
+        "follower_count": 7544
+    },
+    {
+        "name": "票圈内容精选",
+        "ghId": "gh_b3ffc1ca3a04",
+        "type": "服务号",
+        "follower_count": 16804
+    },
+    {
+        "name": "票圈热议",
+        "ghId": "gh_efaf7da157f5",
+        "type": "服务号",
+        "follower_count": 31696
+    },
+    {
+        "name": "天天学生活技巧",
+        "ghId": "gh_192c9cf58b13",
+        "type": "订阅号",
+        "follower_count": 198953
+    },
+    {
+        "name": "趣味晚年",
+        "ghId": "gh_6cfd1132df94",
+        "type": "订阅号",
+        "follower_count": 948732
+    },
+    {
+        "name": "生活晓常识",
+        "ghId": "gh_f25b5fb01977",
+        "type": "订阅号",
+        "follower_count": 175464
+    },
+    {
+        "name": "态度说",
+        "ghId": "gh_080bb43aa0dc",
+        "type": "订阅号",
+        "follower_count": 431174
+    },
+    {
+        "name": "生活指示录",
+        "ghId": "gh_d49df5e974ca",
+        "type": "订阅号",
+        "follower_count": 432608
+    },
+    {
+        "name": "路边闲聊社",
+        "ghId": "gh_5ae65db96cb7",
+        "type": "订阅号",
+        "follower_count": 262333
+    },
+    {
+        "name": "幸福妙招合集",
+        "ghId": "gh_72bace6b3059",
+        "type": "订阅号",
+        "follower_count": 421333
+    },
+    {
+        "name": "快乐精选集",
+        "ghId": "gh_9eef14ad6c16",
+        "type": "订阅号",
+        "follower_count": 509896
+    },
+    {
+        "name": "老友快乐谈",
+        "ghId": "gh_c5cdf60d9ab4",
+        "type": "订阅号",
+        "follower_count": 507749
+    },
+    {
+        "name": "都市镜头",
+        "ghId": "gh_7f5075624a50",
+        "type": "订阅号",
+        "follower_count": 196167
+    },
+    {
+        "name": "情为老友",
+        "ghId": "gh_d4dffc34ac39",
+        "type": "订阅号",
+        "follower_count": 819945
+    },
+    {
+        "name": "趣味生活达人",
+        "ghId": "gh_ff487cb5dab3",
+        "type": "订阅号",
+        "follower_count": 237428
+    },
+    {
+        "name": "小贝生活课堂",
+        "ghId": "gh_1b27dd1beeca",
+        "type": "订阅号",
+        "follower_count": 153575
+    },
+    {
+        "name": "乐享生活小窍门",
+        "ghId": "gh_1d887d61088c",
+        "type": "订阅号",
+        "follower_count": 212576
+    },
+    {
+        "name": "看不够妙招",
+        "ghId": "gh_3ed305b5817f",
+        "type": "订阅号",
+        "follower_count": 364138
+    },
+    {
+        "name": "无忧自在生活",
+        "ghId": "gh_dd4c857bbb36",
+        "type": "订阅号",
+        "follower_count": 350737
+    },
+    {
+        "name": "无忧潮生活",
+        "ghId": "gh_f902cea89e48",
+        "type": "订阅号",
+        "follower_count": 160823
+    },
+    {
+        "name": "无忧生活小妙招",
+        "ghId": "gh_b676b7ad9b74",
+        "type": "订阅号",
+        "follower_count": 213569
+    },
+    {
+        "name": "巷尾风声",
+        "ghId": "gh_b6f2c5332c72",
+        "type": "订阅号",
+        "follower_count": 107452
+    },
+    {
+        "name": "实用妙招800个",
+        "ghId": "gh_ee78360d06f5",
+        "type": "订阅号",
+        "follower_count": 119357
+    },
+    {
+        "name": "史趣探秘",
+        "ghId": "gh_68e7fdc09fe4",
+        "type": "订阅号",
+        "follower_count": 90293
+    },
+    {
+        "name": "史记有言",
+        "ghId": "gh_789a40fe7935",
+        "type": "订阅号",
+        "follower_count": 132502
+    },
+    {
+        "name": "暖心一隅",
+        "ghId": "gh_77f36c109fb1",
+        "type": "订阅号",
+        "follower_count": 55723
+    },
+    {
+        "name": "麒阁史记",
+        "ghId": "gh_ac43eb24376d",
+        "type": "订阅号",
+        "follower_count": 106537
+    },
+    {
+        "name": "心海情澜起",
+        "ghId": "gh_969f5ea5fee1",
+        "type": "订阅号",
+        "follower_count": 161723
+    },
+    {
+        "name": "那些历史",
+        "ghId": "gh_57573f01b2ee",
+        "type": "订阅号",
+        "follower_count": 144170
+    },
+    {
+        "name": "日常生活小技巧集",
+        "ghId": "gh_008ef23062ee",
+        "type": "订阅号",
+        "follower_count": 212411
+    },
+    {
+        "name": "趣谈史记",
+        "ghId": "gh_3e91f0624545",
+        "type": "订阅号",
+        "follower_count": 120294
+    },
+    {
+        "name": "日常巧思集",
+        "ghId": "gh_30816d8adb52",
+        "type": "订阅号",
+        "follower_count": 247296
+    },
+    {
+        "name": "日常小妙招秘籍",
+        "ghId": "gh_51e4ad40466d",
+        "type": "订阅号",
+        "follower_count": 148013
+    },
+    {
+        "name": "晚年家人",
+        "ghId": "gh_7c66e0dbd2cf",
+        "type": "订阅号",
+        "follower_count": 222564
+    },
+    {
+        "name": "快乐生活妙技巧",
+        "ghId": "gh_03d32e83122f",
+        "type": "订阅号",
+        "follower_count": 194198
+    },
+    {
+        "name": "持家有妙招",
+        "ghId": "gh_0e4fd9e88386",
+        "type": "订阅号",
+        "follower_count": 166063
+    },
+    {
+        "name": "生活小优招",
+        "ghId": "gh_95ed5ecf9363",
+        "type": "订阅号",
+        "follower_count": 151833
+    },
+    {
+        "name": "生活之大全",
+        "ghId": "gh_970460d9ccec",
+        "type": "订阅号",
+        "follower_count": 269027
+    },
+    {
+        "name": "无忧生活情感",
+        "ghId": "gh_0b29b081f237",
+        "type": "服务号",
+        "follower_count": 16109
+    },
+    {
+        "name": "情感时光屋",
+        "ghId": "gh_6da12d2660ba",
+        "type": "服务号",
+        "follower_count": 8619
+    },
+    {
+        "name": "幸福心灵指南",
+        "ghId": "gh_0bedf49a6a7e",
+        "type": "服务号",
+        "follower_count": 1891
+    },
+    {
+        "name": "幸福生活有窍门",
+        "ghId": "gh_de2c9fefe715",
+        "type": "服务号",
+        "follower_count": 3262
+    },
+    {
+        "name": "趣生活小妙招",
+        "ghId": "gh_949bf0195759",
+        "type": "服务号",
+        "follower_count": 18259
+    },
+    {
+        "name": "理想晚年生活",
+        "ghId": "gh_50c78060c5f2",
+        "type": "服务号",
+        "follower_count": 17952
+    },
+    {
+        "name": "青莲简史",
+        "ghId": "gh_89d00dca4896",
+        "type": "服务号",
+        "follower_count": 16318
+    },
+    {
+        "name": "闲时聊生活",
+        "ghId": "gh_a5e71438865e",
+        "type": "服务号",
+        "follower_count": 14181
+    },
+    {
+        "name": "史家霸唱",
+        "ghId": "gh_6ff82851890a",
+        "type": "服务号",
+        "follower_count": 13002
+    },
+    {
+        "name": "长年妙生活",
+        "ghId": "gh_5d68fee2093f",
+        "type": "服务号",
+        "follower_count": 15941
+    },
+    {
+        "name": "理想老来生活",
+        "ghId": "gh_d9de0e9b70e9",
+        "type": "服务号",
+        "follower_count": 12334
+    },
+    {
+        "name": "乡间牛人",
+        "ghId": "gh_98a84818284c",
+        "type": "服务号",
+        "follower_count": 14764
+    },
+    {
+        "name": "妙晚年生活",
+        "ghId": "gh_1c7e15e6ac9e",
+        "type": "服务号",
+        "follower_count": 12376
+    },
+    {
+        "name": "百家之康阁",
+        "ghId": "gh_a1b5a2142e11",
+        "type": "服务号",
+        "follower_count": 10458
+    },
+    {
+        "name": "退休知音老友",
+        "ghId": "gh_c7c9929bdfc4",
+        "type": "服务号",
+        "follower_count": 11049
+    },
+    {
+        "name": "奇趣妙招点子",
+        "ghId": "gh_c484cea5ce0b",
+        "type": "服务号",
+        "follower_count": 11849
+    },
+    {
+        "name": "无忧生活有点子",
+        "ghId": "gh_b24476d5090c",
+        "type": "服务号",
+        "follower_count": 8919
+    },
+    {
+        "name": "大嘴美食家",
+        "ghId": "gh_9904c57b243e",
+        "type": "服务号",
+        "follower_count": 6200
+    },
+    {
+        "name": "老来妙趣生活",
+        "ghId": "gh_a172a6bf7dc5",
+        "type": "服务号",
+        "follower_count": 5751
+    },
+    {
+        "name": "妙农村生活",
+        "ghId": "gh_b7f7144a96c5",
+        "type": "服务号",
+        "follower_count": 5778
+    },
+    {
+        "name": "乡野风光",
+        "ghId": "gh_d367454ca4d7",
+        "type": "服务号",
+        "follower_count": 5951
+    },
+    {
+        "name": "趣农村生活",
+        "ghId": "gh_7adb9417f845",
+        "type": "服务号",
+        "follower_count": 5703
+    },
+    {
+        "name": "谈趣史",
+        "ghId": "gh_fb8031aca805",
+        "type": "服务号",
+        "follower_count": 3961
+    },
+    {
+        "name": "持家妙招集",
+        "ghId": "gh_0dea45f2342a",
+        "type": "服务号",
+        "follower_count": 3814
+    },
+    {
+        "name": "奇闻纪实",
+        "ghId": "gh_036ab9bb685a",
+        "type": "服务号",
+        "follower_count": 996
+    },
+    {
+        "name": "轻松生活方法",
+        "ghId": "gh_749271f1ccd5",
+        "type": "订阅号",
+        "follower_count": 278678
+    },
+    {
+        "name": "趣读奇事",
+        "ghId": "gh_660afe87b6fd",
+        "type": "订阅号",
+        "follower_count": 193149
+    },
+    {
+        "name": "晚年多享乐",
+        "ghId": "gh_03d45c260115",
+        "type": "订阅号",
+        "follower_count": 240997
+    },
+    {
+        "name": "福康俏生活",
+        "ghId": "gh_1686250f15b6",
+        "type": "订阅号",
+        "follower_count": 227300
+    },
+    {
+        "name": "田耕闲话",
+        "ghId": "gh_f321695e3983",
+        "type": "服务号",
+        "follower_count": 203565
+    },
+    {
+        "name": "晚年退休派",
+        "ghId": "gh_37b084e62f1c",
+        "type": "服务号",
+        "follower_count": 136967
+    },
+    {
+        "name": "退休福漫",
+        "ghId": "gh_4af3ce7f9a85",
+        "type": "服务号",
+        "follower_count": 25090
+    },
+    {
+        "name": "趣读小史",
+        "ghId": "gh_18e87b85e90c",
+        "type": "服务号",
+        "follower_count": 31635
+    },
+    {
+        "name": "退休福漫天",
+        "ghId": "gh_b721056f294a",
+        "type": "服务号",
+        "follower_count": 29984
+    },
+    {
+        "name": "精选生活管家",
+        "ghId": "gh_4a05bb40ab9b",
+        "type": "服务号",
+        "follower_count": 42225
+    },
+    {
+        "name": "妙招多一点",
+        "ghId": "gh_9743cdc25c97",
+        "type": "服务号",
+        "follower_count": 104894
+    },
+    {
+        "name": "食神日记",
+        "ghId": "gh_69f4300b4cda",
+        "type": "服务号",
+        "follower_count": 77185
+    },
+    {
+        "name": "安享生活家",
+        "ghId": "gh_fa0b85528a93",
+        "type": "服务号",
+        "follower_count": 20683
+    },
+    {
+        "name": "自在生活集",
+        "ghId": "gh_a57a534ec05c",
+        "type": "服务号",
+        "follower_count": 106115
+    },
+    {
+        "name": "幸福俏生活",
+        "ghId": "gh_97034d655595",
+        "type": "服务号",
+        "follower_count": 148426
+    },
+    {
+        "name": "老来有知音",
+        "ghId": "gh_53cb7afbb2df",
+        "type": "服务号",
+        "follower_count": 124320
+    },
+    {
+        "name": "实用窍门君",
+        "ghId": "gh_2046389c46d3",
+        "type": "服务号",
+        "follower_count": 101643
+    },
+    {
+        "name": "幸福居家帮手",
+        "ghId": "gh_6503fd75c35e",
+        "type": "服务号",
+        "follower_count": 99285
+    },
+    {
+        "name": "轻松俏生活",
+        "ghId": "gh_8f9bd3d100d3",
+        "type": "服务号",
+        "follower_count": 92464
+    },
+    {
+        "name": "俏生活秒招姐",
+        "ghId": "gh_5c841d031d42",
+        "type": "服务号",
+        "follower_count": 93858
+    },
+    {
+        "name": "乐享生活有妙招",
+        "ghId": "gh_9a1e71e3460d",
+        "type": "服务号",
+        "follower_count": 82188
+    },
+    {
+        "name": "便捷生活妙招",
+        "ghId": "gh_cd82bb10dd98",
+        "type": "服务号",
+        "follower_count": 39428
+    },
+    {
+        "name": "天下达观",
+        "ghId": "gh_8a783ca03d5e",
+        "type": "服务号",
+        "follower_count": 19061
+    },
+    {
+        "name": "奇事时分秒",
+        "ghId": "gh_442a2c336dd8",
+        "type": "服务号",
+        "follower_count": 22888
+    },
+    {
+        "name": "老来妙享生活",
+        "ghId": "gh_6f5221bf1801",
+        "type": "服务号",
+        "follower_count": 22157
+    },
+    {
+        "name": "俏生活有窍门",
+        "ghId": "gh_01a417472fdd",
+        "type": "服务号",
+        "follower_count": 19274
+    },
+    {
+        "name": "金点子窍门",
+        "ghId": "gh_3365a6f8b17f",
+        "type": "服务号",
+        "follower_count": 19219
+    },
+    {
+        "name": "小方史论",
+        "ghId": "gh_40a2ead40083",
+        "type": "服务号",
+        "follower_count": 18870
+    },
+    {
+        "name": "无忧持家达人",
+        "ghId": "gh_87df74d068d5",
+        "type": "服务号",
+        "follower_count": 18914
+    },
+    {
+        "name": "生活是读",
+        "ghId": "gh_40fa65a44aa1",
+        "type": "服务号",
+        "follower_count": 188309
+    },
+    {
+        "name": "博史鉴览",
+        "ghId": "gh_98ec0ffe69b3",
+        "type": "订阅号",
+        "follower_count": 191611
+    },
+    {
+        "name": "好招妙",
+        "ghId": "gh_2e615fa75ffb",
+        "type": "订阅号",
+        "follower_count": 67037
+    },
+    {
+        "name": "福享暮年",
+        "ghId": "gh_57c9e8babea7",
+        "type": "订阅号",
+        "follower_count": 184951
+    },
+    {
+        "name": "奇读趣史",
+        "ghId": "gh_bfea052b5baa",
+        "type": "订阅号",
+        "follower_count": 188491
+    },
+    {
+        "name": "悠读生活",
+        "ghId": "gh_6d3aa9d13402",
+        "type": "订阅号",
+        "follower_count": 169166
+    },
+    {
+        "name": "二胡",
+        "ghId": "gh_6e75b9dcde6b",
+        "type": "订阅号",
+        "follower_count": 321263
+    },
+    {
+        "name": "口琴",
+        "ghId": "gh_199f74839fb3",
+        "type": "订阅号"
+    }
+]

+ 0 - 405
dev/config.txt

@@ -1,405 +0,0 @@
-指尖奇文	gh_6d205db62f04	845936	1	17612.61	49.95
-老友闲谈	gh_56ca3dae948c	857670	1	15220.42	34.95
-老友欢聚地	gh_c69776baf2cd	966567	1	11657.52	38.64
-退休老年圈	gh_9877c8541764	803701	1	10019.59	33.36
-趣味晚年	gh_6cfd1132df94	957374	1	9891.27	30.05
-多彩妙生活	gh_058e41145a0c	253532	1	9046.74	29.42
-生活百态观	gh_89ef4798d3ea	835095	1	8826.29	23.27
-老友闲谈	gh_56ca3dae948c	857670	2	8787.56	16.75
-人生百事观	gh_b15de7c99912	887469	1	8510.52	29.62
-指尖奇文	gh_6d205db62f04	845936	2	8322.2	22.73
-情为老友	gh_d4dffc34ac39	828444	1	8179.1	24.44
-趣史论	gh_744cb16f6e16	242817	1	8177.88	32.85
-农耕趣时刻	gh_c91b42649690	226994	1	7669.17	23.54
-生活之大全	gh_970460d9ccec	277699	1	7433.5	26
-路边闲聊社	gh_5ae65db96cb7	264349	1	6758.06	16.98
-老友快乐谈	gh_c5cdf60d9ab4	512895	1	6640.98	18.24
-家家生活指南	gh_4c058673c07e	272538	1	6277.29	18.35
-日常巧思集	gh_30816d8adb52	255337	1	6185.7	23.3
-老友欢聚地	gh_c69776baf2cd	966567	2	5717.82	17.75
-畅聊奇闻	gh_a2901d34f75b	389185	1	5595.2	16.62
-幸福启示	gh_0c89e11f8bf3	486906	1	5041.48	14.96
-退休老年圈	gh_9877c8541764	803701	2	4981.66	14.88
-生活指示录	gh_d49df5e974ca	437523	1	4904.91	14.55
-喜乐生活派	gh_bff0bcb0694a	404179	1	4886.4	13.74
-缘来养心厅	gh_e24da99dc899	415852	1	4468.55	9.67
-奇趣百味生活	gh_bfe5b705324a	323615	1	4397.41	10.65
-人生百事观	gh_b15de7c99912	887469	2	4247.91	16.02
-生活百态观	gh_89ef4798d3ea	835095	2	4247.33	12.2
-生活之大全	gh_970460d9ccec	277699	2	4178	12
-态度说	gh_080bb43aa0dc	435916	1	4166.75	10.63
-都市镜头	gh_7f5075624a50	199214	1	4122.41	15.34
-情为老友	gh_d4dffc34ac39	828444	2	3933.26	14.81
-快乐精选集	gh_9eef14ad6c16	515674	1	3932.46	13.71
-票圈乐活	gh_45beb952dc74	126479	1	3813.2	37.6
-趣味晚年	gh_6cfd1132df94	957374	2	3811.49	11.27
-持家有妙招	gh_0e4fd9e88386	171774	1	3694.2	12.6
-麒阁史记	gh_ac43eb24376d	108877	1	3630.53	13
-多彩妙生活	gh_058e41145a0c	253532	5	3595	14.5
-无忧自在生活	gh_dd4c857bbb36	354334	1	3560.54	11.55
-看不够妙招	gh_3ed305b5817f	368223	1	3509.22	10.3
-日常生活小技巧集	gh_008ef23062ee	218145	1	3492.08	14.83
-退休无忧生活	gh_be8c29139989	197750	1	3453.08	17.33
-妙招持家帮手	gh_de9f9ebc976b	166062	1	3345.95	12.19
-路边闲聊社	gh_5ae65db96cb7	264349	2	3318.04	8.96
-多彩妙生活	gh_058e41145a0c	253532	2	3313.19	10.76
-趣史论	gh_744cb16f6e16	242817	2	3287.73	12.96
-便捷生活好方法	gh_7e5818b2dd83	437854	1	3276.38	10.19
-妙招持家帮手	gh_de9f9ebc976b	166062	5	3133.25	12.5
-那些历史	gh_57573f01b2ee	148233	1	3126.46	12.38
-多彩妙生活	gh_058e41145a0c	253532	6	3040.4	13.4
-农耕趣时刻	gh_c91b42649690	226994	2	2852	9.05
-多彩妙生活	gh_058e41145a0c	253532	8	2851.6	11.2
-日常巧思集	gh_30816d8adb52	255337	2	2693.2	9.1
-家家生活指南	gh_4c058673c07e	272538	2	2625.41	8.59
-史记有言	gh_789a40fe7935	135657	1	2600.54	11.62
-老友快乐谈	gh_c5cdf60d9ab4	512895	2	2583.53	7.35
-畅聊奇闻	gh_a2901d34f75b	389185	2	2557	7.57
-幸福启示	gh_0c89e11f8bf3	486906	2	2517.93	7.45
-趣谈史记	gh_3e91f0624545	123680	1	2482.44	8.78
-心海情澜起	gh_969f5ea5fee1	166686	1	2463.08	7.92
-乐享生活小窍门	gh_1d887d61088c	214677	1	2422.35	6.16
-快乐生活妙技巧	gh_03d32e83122f	201051	1	2403	9.17
-生活指示录	gh_d49df5e974ca	437523	2	2399.95	8.05
-多彩妙生活	gh_058e41145a0c	253532	7	2391.6	8
-天天学生活技巧	gh_192c9cf58b13	200829	1	2391.12	6.43
-票圈极速版	gh_d2cc901deca7	203462	1	2370.97	14.5
-趣味生活达人	gh_ff487cb5dab3	240559	1	2370.86	6.75
-妙招持家帮手	gh_de9f9ebc976b	166062	7	2346.75	9.75
-繁花史阁	gh_d5f935d0d1f2	144435	1	2300.38	8.69
-票圈热门	gh_9cf3b7ff486b	42450	1	2288.4	29.8
-日常小妙招秘籍	gh_51e4ad40466d	153526	1	2234.6	9.7
-麒阁史记	gh_ac43eb24376d	108877	5	2232.67	7.83
-票圈热议	gh_efaf7da157f5	20306	1	2229.8	27.8
-巷尾风声	gh_b6f2c5332c72	109057	1	2189.07	7.85
-史记趣言	gh_adca24a8f429	126634	1	2168.87	8.06
-缘来养心厅	gh_e24da99dc899	415852	2	2157.14	3.63
-幸福晚年知音	gh_6b7c2a257263	243535	1	2155.98	4.56
-生活小优招	gh_95ed5ecf9363	156489	1	2134	9.2
-都市镜头	gh_7f5075624a50	199214	2	2100.24	9.25
-喜乐生活派	gh_bff0bcb0694a	404179	2	2099.55	5.09
-奇趣百味生活	gh_bfe5b705324a	323615	2	2074.87	5.76
-心灵情感驿站	gh_e0eb490115f5	315146	1	2057.45	6.62
-快乐生活妙技巧	gh_03d32e83122f	201051	2	2022	4.4
-幸福妙招合集	gh_72bace6b3059	425935	1	1982.73	7.75
-音药金曲厅	gh_9f8dc5b0c74e	162850	1	1982.36	7.96
-妙招持家帮手	gh_de9f9ebc976b	166062	6	1982.25	7
-态度说	gh_080bb43aa0dc	435916	2	1956.73	5.55
-持家有妙招	gh_0e4fd9e88386	171774	2	1951	6.8
-音药养心馆	gh_6d9f36e3a7be	205282	1	1934.88	4.25
-异闻趣事多	gh_7b4a5f86d68c	149539	1	1929.08	6.17
-无忧生活小妙招	gh_b676b7ad9b74	215401	1	1833.66	6.36
-麒阁史记	gh_ac43eb24376d	108877	6	1813.67	8.33
-票圈原创视频精选	gh_b8baac4296cb	49884	1	1812.4	15
-生活小优招	gh_95ed5ecf9363	156489	2	1806.4	3.6
-生活良读	gh_183d80deffb8	89392	1	1801.56	6.78
-老来生活家	gh_29074b51f2b7	197360	1	1801.53	5.12
-快乐精选集	gh_9eef14ad6c16	515674	2	1789.82	6.43
-持家有妙招	gh_0e4fd9e88386	171774	5	1788.67	6.67
-看不够妙招	gh_3ed305b5817f	368223	2	1761.12	6
-便捷生活好方法	gh_7e5818b2dd83	437854	2	1737.68	5.58
-无忧自在生活	gh_dd4c857bbb36	354334	2	1663.8	5.88
-妙招持家帮手	gh_de9f9ebc976b	166062	8	1650.5	8.5
-票圈奇闻	gh_b32125c73861	30063	1	1568.4	13.8
-生活晓常识	gh_f25b5fb01977	177200	1	1524.62	4.77
-史记趣言	gh_adca24a8f429	126634	5	1502	5
-持家有妙招	gh_0e4fd9e88386	171774	6	1501.5	7.67
-史记趣言	gh_adca24a8f429	126634	6	1493.5	4.5
-日常生活小技巧集	gh_008ef23062ee	218145	2	1486	5.62
-窦都事说	gh_4568b5a7e2fe	329707	1	1471.94	5.82
-麒阁史记	gh_ac43eb24376d	108877	2	1455.21	4.89
-麒阁史记	gh_ac43eb24376d	108877	8	1450.17	5
-史记趣言	gh_adca24a8f429	126634	7	1443.5	6.5
-麒阁史记	gh_ac43eb24376d	108877	7	1440.5	6.67
-退休无忧生活	gh_be8c29139989	197750	2	1423.85	6.08
-妙招持家帮手	gh_de9f9ebc976b	166062	2	1365	5.71
-乐享生活小窍门	gh_1d887d61088c	214677	2	1358.86	3.84
-天天学生活技巧	gh_192c9cf58b13	200829	2	1349.96	3.37
-史记趣言	gh_adca24a8f429	126634	8	1329.5	8.5
-票圈乐活	gh_45beb952dc74	126479	2	1324.67	17.83
-史记趣言	gh_adca24a8f429	126634	2	1287.87	5.23
-祝福养心厅	gh_5ff48e9fb9ef	147236	1	1287.22	5.66
-无忧潮生活	gh_f902cea89e48	162528	1	1271.74	4.55
-趣味生活达人	gh_ff487cb5dab3	240559	2	1267.53	3.13
-史记有言	gh_789a40fe7935	135657	2	1263	3.85
-趣谈史记	gh_3e91f0624545	123680	2	1233.89	4.22
-那些历史	gh_57573f01b2ee	148233	2	1222	4
-持家有妙招	gh_0e4fd9e88386	171774	7	1200.17	4.5
-票圈内容精选	gh_b3ffc1ca3a04	17876	1	1166	13.4
-多彩妙生活	gh_058e41145a0c	253532	3	1161.73	3.45
-巷尾风声	gh_b6f2c5332c72	109057	2	1146.07	4.49
-日常小妙招秘籍	gh_51e4ad40466d	153526	2	1082.7	4.5
-持家有妙招	gh_0e4fd9e88386	171774	4	1059.18	4.45
-持家有妙招	gh_0e4fd9e88386	171774	3	1054.27	6.09
-心灵情感驿站	gh_e0eb490115f5	315146	2	1053.91	3.65
-幸福妙招合集	gh_72bace6b3059	425935	2	1039.64	5.11
-生活情感叁读	gh_084a485e859a	120693	1	1022.07	3.69
-票圈热门	gh_9cf3b7ff486b	42450	2	1002.33	23.67
-多彩妙生活	gh_058e41145a0c	253532	4	988.43	3.24
-音药金曲厅	gh_9f8dc5b0c74e	162850	2	969.79	3.79
-无忧生活小妙招	gh_b676b7ad9b74	215401	2	961.81	3.03
-票圈热议	gh_efaf7da157f5	20306	2	955.4	20.8
-票圈极速版	gh_d2cc901deca7	203462	2	955.1	6.77
-票圈乐活	gh_45beb952dc74	126479	5	954.5	10.17
-小贝生活课堂	gh_1b27dd1beeca	155419	1	942.95	2.58
-繁花史阁	gh_d5f935d0d1f2	144435	2	938.15	4.08
-异闻趣事多	gh_7b4a5f86d68c	149539	2	922.33	2.62
-票圈乐活	gh_45beb952dc74	126479	3	878.83	12.67
-音药养心馆	gh_6d9f36e3a7be	205282	2	862.12	2
-实用妙招800个	gh_ee78360d06f5	120597	1	841.79	2.55
-票圈乐活	gh_45beb952dc74	126479	4	829.33	10.83
-持家有妙招	gh_0e4fd9e88386	171774	8	828.17	3.5
-老来生活家	gh_29074b51f2b7	197360	2	827.29	2.73
-趣史论	gh_744cb16f6e16	242817	3	825.78	4.26
-幸福晚年知音	gh_6b7c2a257263	243535	2	816.58	2.28
-生活良读	gh_183d80deffb8	89392	2	792.57	3.02
-票圈热门	gh_9cf3b7ff486b	42450	3	746.33	17
-麒阁史记	gh_ac43eb24376d	108877	4	731.42	2.53
-票圈原创视频精选	gh_b8baac4296cb	49884	2	725.33	7.67
-生活晓常识	gh_f25b5fb01977	177200	2	705.11	2.28
-麒阁史记	gh_ac43eb24376d	108877	3	703.06	3.17
-生活之大全	gh_970460d9ccec	277699	3	668.8	2.8
-票圈奇闻	gh_b32125c73861	30063	2	668	5.17
-票圈热门	gh_9cf3b7ff486b	42450	5	660.67	6.17
-心海情澜起	gh_969f5ea5fee1	166686	2	638.42	2.25
-票圈乐活	gh_45beb952dc74	126479	6	624.83	7.83
-祝福养心厅	gh_5ff48e9fb9ef	147236	2	622.37	2.86
-票圈热议	gh_efaf7da157f5	20306	3	616	9.29
-票圈乐活	gh_45beb952dc74	126479	8	601.71	9.57
-票圈原创视频精选	gh_b8baac4296cb	49884	3	596.57	7.57
-老友闲谈	gh_56ca3dae948c	857670	3	550.27	2.03
-票圈奇闻	gh_b32125c73861	30063	3	542.71	5.14
-票圈热门	gh_9cf3b7ff486b	42450	4	527.33	7.83
-票圈原创视频精选	gh_b8baac4296cb	49884	5	518	3.33
-农耕趣时刻	gh_c91b42649690	226994	3	513.41	1.59
-票圈奇闻	gh_b32125c73861	30063	5	505	4.67
-生活情感叁读	gh_084a485e859a	120693	2	497.68	1.93
-票圈内容精选	gh_b3ffc1ca3a04	17876	2	495	6.67
-无忧潮生活	gh_f902cea89e48	162528	2	472.73	2.12
-小贝生活课堂	gh_1b27dd1beeca	155419	2	462.3	1.14
-农耕趣时刻	gh_c91b42649690	226994	4	452.64	1.86
-票圈美文速递	gh_26a307578776	18670	1	446.54	10.36
-票圈乐活	gh_45beb952dc74	126479	7	425.83	5.83
-指尖奇文	gh_6d205db62f04	845936	3	424.75	1.9
-票圈精彩	gh_5e543853d8f0	7780	1	418.83	4.67
-史记有言	gh_789a40fe7935	135657	8	417	2
-实用妙招800个	gh_ee78360d06f5	120597	2	413.32	1.25
-票圈原创视频精选	gh_b8baac4296cb	49884	4	412.71	4.86
-票圈内容精选	gh_b3ffc1ca3a04	17876	5	402.83	4.83
-票圈奇闻	gh_b32125c73861	30063	4	398.43	3.86
-缘来养心厅	gh_e24da99dc899	415852	3	395.57	0.72
-生活之大全	gh_970460d9ccec	277699	4	394	2.8
-票圈热门	gh_9cf3b7ff486b	42450	6	384.17	2.83
-票圈热议	gh_efaf7da157f5	20306	5	363.33	4.67
-票圈内容精选	gh_b3ffc1ca3a04	17876	3	359.83	5.5
-家家生活指南	gh_4c058673c07e	272538	3	356.59	1.41
-窦都事说	gh_4568b5a7e2fe	329707	2	338.16	1.41
-票圈热门	gh_9cf3b7ff486b	42450	8	336	2.33
-票圈内容精选	gh_b3ffc1ca3a04	17876	4	327.14	4.57
-老友闲谈	gh_56ca3dae948c	857670	5	324.94	0.96
-票圈奇闻	gh_b32125c73861	30063	8	324	3
-票圈美文速递	gh_26a307578776	18670	2	323.44	8.19
-快乐生活妙技巧	gh_03d32e83122f	201051	3	323.4	0.4
-票圈原创视频精选	gh_b8baac4296cb	49884	8	321.14	2.86
-老友闲谈	gh_56ca3dae948c	857670	4	321.07	0.79
-票圈原创视频精选	gh_b8baac4296cb	49884	6	312.33	2.83
-趣史论	gh_744cb16f6e16	242817	4	308.68	2.41
-票圈正能量	gh_e75dbdc73d80	21179	1	306.86	2.02
-指尖奇文	gh_6d205db62f04	845936	4	303.67	0.92
-票圈热议	gh_efaf7da157f5	20306	4	297	4.29
-票圈奇闻	gh_b32125c73861	30063	6	296.83	2.17
-票圈热门	gh_9cf3b7ff486b	42450	7	294.5	2.33
-老友欢聚地	gh_c69776baf2cd	966567	3	292.97	1.92
-缘来养心厅	gh_e24da99dc899	415852	5	292.31	0.62
-史记有言	gh_789a40fe7935	135657	5	289.67	2
-日常巧思集	gh_30816d8adb52	255337	3	280.67	1.56
-史记有言	gh_789a40fe7935	135657	3	276.56	0.67
-家家生活指南	gh_4c058673c07e	272538	4	276	0.76
-票圈内容精选	gh_b3ffc1ca3a04	17876	8	272	3.43
-生活小优招	gh_95ed5ecf9363	156489	3	270.6	1
-日常巧思集	gh_30816d8adb52	255337	4	261.44	1.22
-史记有言	gh_789a40fe7935	135657	7	258.67	2.67
-史记有言	gh_789a40fe7935	135657	4	256.42	0.67
-指尖奇文	gh_6d205db62f04	845936	5	253.39	0.52
-快乐生活妙技巧	gh_03d32e83122f	201051	4	250.2	0.6
-无忧潮生活	gh_f902cea89e48	162528	5	246.5	0.5
-票圈内容精选	gh_b3ffc1ca3a04	17876	6	237.33	2.17
-票圈原创视频精选	gh_b8baac4296cb	49884	7	235	1.67
-趣谈史记	gh_3e91f0624545	123680	3	233.78	0.89
-缘来养心厅	gh_e24da99dc899	415852	4	230.85	0.57
-指尖奇文	gh_6d205db62f04	845936	6	228.62	0.5
-票圈奇闻	gh_b32125c73861	30063	7	225.67	2.67
-那些历史	gh_57573f01b2ee	148233	3	213.38	0.54
-退休老年圈	gh_9877c8541764	803701	3	213.02	1.74
-票圈大事件	gh_9e559b3b94ca	20375	1	212.05	2.1
-趣味晚年	gh_6cfd1132df94	957374	3	209.54	1.66
-票圈热议	gh_efaf7da157f5	20306	6	208.83	3.33
-日常生活小技巧集	gh_008ef23062ee	218145	3	206	1.23
-指尖奇文	gh_6d205db62f04	845936	7	201.33	0.2
-老友欢聚地	gh_c69776baf2cd	966567	4	197.91	1.55
-路边闲聊社	gh_5ae65db96cb7	264349	3	189.53	1.42
-日常生活小技巧集	gh_008ef23062ee	218145	4	188.92	1.33
-票圈精彩	gh_5e543853d8f0	7780	2	188.71	2.71
-票圈内容精选	gh_b3ffc1ca3a04	17876	7	188.33	2.5
-票圈热议	gh_efaf7da157f5	20306	8	183.43	4.29
-指尖奇文	gh_6d205db62f04	845936	8	183.27	0.33
-退休无忧生活	gh_be8c29139989	197750	3	182.62	1.23
-老友欢聚地	gh_c69776baf2cd	966567	6	181.24	1
-日常小妙招秘籍	gh_51e4ad40466d	153526	3	181	0.7
-情为老友	gh_d4dffc34ac39	828444	3	178.35	1.37
-生活百态观	gh_89ef4798d3ea	835095	3	178.32	0.93
-生活小优招	gh_95ed5ecf9363	156489	4	173.6	0.4
-人生百事观	gh_b15de7c99912	887469	3	173.59	1.41
-那些历史	gh_57573f01b2ee	148233	4	166.08	0.62
-票圈正能量	gh_e75dbdc73d80	21179	2	160.46	0.98
-票圈精彩	gh_5e543853d8f0	7780	3	159.38	2
-路边闲聊社	gh_5ae65db96cb7	264349	4	156.3	1.35
-趣谈史记	gh_3e91f0624545	123680	4	151.22	1
-票圈极速版	gh_d2cc901deca7	203462	3	150.04	1.5
-老友欢聚地	gh_c69776baf2cd	966567	5	147.1	0.33
-音药金曲厅	gh_9f8dc5b0c74e	162850	3	143.42	0.49
-票圈热议	gh_efaf7da157f5	20306	7	141.17	2.17
-老友欢聚地	gh_c69776baf2cd	966567	7	140.13	0.67
-老友欢聚地	gh_c69776baf2cd	966567	8	139.07	0.6
-趣味晚年	gh_6cfd1132df94	957374	5	138	2
-退休无忧生活	gh_be8c29139989	197750	4	137.33	0.58
-异闻趣事多	gh_7b4a5f86d68c	149539	3	136.21	0.42
-音药金曲厅	gh_9f8dc5b0c74e	162850	4	134.4	0.38
-退休老年圈	gh_9877c8541764	803701	4	133.43	1.34
-生活百态观	gh_89ef4798d3ea	835095	4	133.23	0.34
-情为老友	gh_d4dffc34ac39	828444	4	130.57	0.93
-日常小妙招秘籍	gh_51e4ad40466d	153526	4	128.6	0.7
-退休老年圈	gh_9877c8541764	803701	6	127.09	0.61
-票圈精彩	gh_5e543853d8f0	7780	5	127	1.71
-老友快乐谈	gh_c5cdf60d9ab4	512895	3	124.81	0.88
-幸福启示	gh_0c89e11f8bf3	486906	3	123.98	0.67
-心灵情感驿站	gh_e0eb490115f5	315146	3	123.28	0.63
-趣味晚年	gh_6cfd1132df94	957374	4	119.5	0.56
-票圈美文速递	gh_26a307578776	18670	3	118.61	5.7
-繁花史阁	gh_d5f935d0d1f2	144435	4	114.54	0.85
-人生百事观	gh_b15de7c99912	887469	4	110.47	0.58
-生活百态观	gh_89ef4798d3ea	835095	6	109.9	0.62
-畅聊奇闻	gh_a2901d34f75b	389185	3	109.74	0.71
-退休老年圈	gh_9877c8541764	803701	5	109.38	0.71
-票圈大事件	gh_9e559b3b94ca	20375	2	109.29	1.48
-繁花史阁	gh_d5f935d0d1f2	144435	3	109	0.69
-票圈精彩	gh_5e543853d8f0	7780	4	108.12	1.25
-异闻趣事多	gh_7b4a5f86d68c	149539	4	107.45	0.27
-看不够妙招	gh_3ed305b5817f	368223	5	104	0
-生活指示录	gh_d49df5e974ca	437523	3	98.45	0.6
-奇趣百味生活	gh_bfe5b705324a	323615	3	94.16	0.62
-史记趣言	gh_adca24a8f429	126634	3	94.08	0.81
-喜乐生活派	gh_bff0bcb0694a	404179	3	93.55	0.33
-生活良读	gh_183d80deffb8	89392	3	93.25	0.56
-生活百态观	gh_89ef4798d3ea	835095	5	93	0.43
-退休老年圈	gh_9877c8541764	803701	7	92.79	0.29
-都市镜头	gh_7f5075624a50	199214	3	89.12	0.79
-妙招持家帮手	gh_de9f9ebc976b	166062	4	88.63	0.05
-祝福养心厅	gh_5ff48e9fb9ef	147236	3	87.87	0.28
-票圈极速版	gh_d2cc901deca7	203462	4	87.75	0.79
-喜乐生活派	gh_bff0bcb0694a	404179	5	87.5	0.25
-心灵情感驿站	gh_e0eb490115f5	315146	4	86.65	0.16
-退休老年圈	gh_9877c8541764	803701	8	85.71	0.36
-老友快乐谈	gh_c5cdf60d9ab4	512895	4	85.13	0.32
-史记趣言	gh_adca24a8f429	126634	4	83.48	0.63
-人生百事观	gh_b15de7c99912	887469	5	82.09	0.32
-态度说	gh_080bb43aa0dc	435916	3	81.85	0.4
-生活百态观	gh_89ef4798d3ea	835095	7	81.63	0.42
-票圈精彩	gh_5e543853d8f0	7780	6	79.86	1
-看不够妙招	gh_3ed305b5817f	368223	3	79.68	0.54
-快乐精选集	gh_9eef14ad6c16	515674	3	79.57	0.69
-便捷生活好方法	gh_7e5818b2dd83	437854	3	78.26	0.41
-老友快乐谈	gh_c5cdf60d9ab4	512895	5	77.8	0.8
-实用妙招800个	gh_ee78360d06f5	120597	3	77.07	0.4
-天天学生活技巧	gh_192c9cf58b13	200829	3	76.53	0.39
-无忧自在生活	gh_dd4c857bbb36	354334	3	76.17	0.63
-乐享生活小窍门	gh_1d887d61088c	214677	3	75.03	0.45
-无忧潮生活	gh_f902cea89e48	162528	3	74.93	0.53
-畅聊奇闻	gh_a2901d34f75b	389185	4	74.16	0.24
-奇趣百味生活	gh_bfe5b705324a	323615	4	73.77	0.33
-音药养心馆	gh_6d9f36e3a7be	205282	3	73.46	0.71
-幸福启示	gh_0c89e11f8bf3	486906	4	73.2	0.35
-妙招持家帮手	gh_de9f9ebc976b	166062	3	71.95	0.32
-心海情澜起	gh_969f5ea5fee1	166686	3	71.83	0.25
-票圈精彩	gh_5e543853d8f0	7780	8	71.43	1.29
-缘来养心厅	gh_e24da99dc899	415852	6	71.2	0.47
-票圈精彩	gh_5e543853d8f0	7780	7	71.17	1.17
-人生百事观	gh_b15de7c99912	887469	6	70.68	0.23
-幸福启示	gh_0c89e11f8bf3	486906	5	68.29	0.29
-态度说	gh_080bb43aa0dc	435916	5	67.75	0.25
-心海情澜起	gh_969f5ea5fee1	166686	4	66.83	0.08
-奇趣百味生活	gh_bfe5b705324a	323615	5	66.5	0
-生活指示录	gh_d49df5e974ca	437523	4	64.55	0.36
-趣味生活达人	gh_ff487cb5dab3	240559	3	62.76	0.52
-生活百态观	gh_89ef4798d3ea	835095	8	62.72	0.17
-生活良读	gh_183d80deffb8	89392	4	62.02	0.32
-人生百事观	gh_b15de7c99912	887469	8	61.79	0.21
-喜乐生活派	gh_bff0bcb0694a	404179	4	61.58	0.16
-态度说	gh_080bb43aa0dc	435916	4	60.3	0.28
-快乐精选集	gh_9eef14ad6c16	515674	5	59.4	1
-都市镜头	gh_7f5075624a50	199214	4	58.29	0.43
-畅聊奇闻	gh_a2901d34f75b	389185	6	57.7	0.13
-畅聊奇闻	gh_a2901d34f75b	389185	5	57.12	0.12
-看不够妙招	gh_3ed305b5817f	368223	4	57.08	0.25
-人生百事观	gh_b15de7c99912	887469	7	56.53	0.4
-天天学生活技巧	gh_192c9cf58b13	200829	4	56.5	0.1
-无忧潮生活	gh_f902cea89e48	162528	4	56.14	0.55
-生活指示录	gh_d49df5e974ca	437523	5	55.9	0.25
-巷尾风声	gh_b6f2c5332c72	109057	3	55.42	0.33
-幸福妙招合集	gh_72bace6b3059	425935	3	55.38	0.62
-祝福养心厅	gh_5ff48e9fb9ef	147236	4	54.78	0.18
-音药养心馆	gh_6d9f36e3a7be	205282	4	54.77	0.4
-无忧生活小妙招	gh_b676b7ad9b74	215401	3	51.92	0.23
-实用妙招800个	gh_ee78360d06f5	120597	4	49.49	0
-便捷生活好方法	gh_7e5818b2dd83	437854	4	48.91	0.33
-音药金曲厅	gh_9f8dc5b0c74e	162850	5	46.81	0.5
-乐享生活小窍门	gh_1d887d61088c	214677	4	45.74	0.19
-票圈美文速递	gh_26a307578776	18670	4	45.31	1.56
-幸福晚年知音	gh_6b7c2a257263	243535	3	43.49	0.2
-窦都事说	gh_4568b5a7e2fe	329707	3	43.15	0.3
-畅聊奇闻	gh_a2901d34f75b	389185	8	43.11	0
-无忧自在生活	gh_dd4c857bbb36	354334	4	42.88	0.14
-老来生活家	gh_29074b51f2b7	197360	3	41.3	0.25
-畅聊奇闻	gh_a2901d34f75b	389185	7	39.79	0.11
-便捷生活好方法	gh_7e5818b2dd83	437854	5	38.91	0.17
-趣味生活达人	gh_ff487cb5dab3	240559	4	38.21	0.07
-快乐精选集	gh_9eef14ad6c16	515674	4	36.53	0.09
-巷尾风声	gh_b6f2c5332c72	109057	4	33.64	0.34
-生活晓常识	gh_f25b5fb01977	177200	3	33.23	0.23
-幸福妙招合集	gh_72bace6b3059	425935	5	33.17	0.67
-无忧生活小妙招	gh_b676b7ad9b74	215401	4	31.7	0.06
-幸福妙招合集	gh_72bace6b3059	425935	4	31.62	0.41
-趣味生活达人	gh_ff487cb5dab3	240559	5	31.5	0
-便捷生活好方法	gh_7e5818b2dd83	437854	6	31.43	0.1
-票圈最新消息	gh_1ee2e1b39ccf	2416	1	29.6	0.49
-生活情感叁读	gh_084a485e859a	120693	3	29.25	0.23
-心灵情感驿站	gh_e0eb490115f5	315146	5	28.94	0.06
-音药金曲厅	gh_9f8dc5b0c74e	162850	6	28.73	0.07
-幸福晚年知音	gh_6b7c2a257263	243535	4	28.29	0.17
-生活良读	gh_183d80deffb8	89392	5	27.75	0.06
-便捷生活好方法	gh_7e5818b2dd83	437854	7	25.94	0
-便捷生活好方法	gh_7e5818b2dd83	437854	8	25.71	0.12
-音药养心馆	gh_6d9f36e3a7be	205282	5	25.38	0.31
-老来生活家	gh_29074b51f2b7	197360	4	25.31	0.12
-祝福养心厅	gh_5ff48e9fb9ef	147236	5	24.94	0.12
-无忧自在生活	gh_dd4c857bbb36	354334	5	24	0
-小贝生活课堂	gh_1b27dd1beeca	155419	3	23.84	0.07
-票圈最新消息	gh_1ee2e1b39ccf	2416	2	23.68	0.35
-窦都事说	gh_4568b5a7e2fe	329707	4	22.38	0.08
-老来生活家	gh_29074b51f2b7	197360	5	21.58	0.11
-祝福养心厅	gh_5ff48e9fb9ef	147236	6	21.44	0.12
-生活晓常识	gh_f25b5fb01977	177200	4	21.27	0.16
-生活情感叁读	gh_084a485e859a	120693	4	18.96	0.08
-音药养心馆	gh_6d9f36e3a7be	205282	6	18.87	0.2
-心灵情感驿站	gh_e0eb490115f5	315146	6	18.25	0.12
-票圈正能量	gh_e75dbdc73d80	21179	3	17.87	0.13
-小贝生活课堂	gh_1b27dd1beeca	155419	4	16.98	0.05
-小贝生活课堂	gh_1b27dd1beeca	155419	5	15.33	0
-票圈正能量	gh_e75dbdc73d80	21179	4	14.26	0
-票圈大事件	gh_9e559b3b94ca	20375	3	13.91	0.32
-生活良读	gh_183d80deffb8	89392	6	10.8	0.07
-生活情感叁读	gh_084a485e859a	120693	5	9.87	0.13
-票圈大事件	gh_9e559b3b94ca	20375	4	8.38	0.05
-生活情感叁读	gh_084a485e859a	120693	6	7.29	0
-异闻趣事多	gh_7b4a5f86d68c	149539	5	0.83	0
-异闻趣事多	gh_7b4a5f86d68c	149539	6	0	0

+ 156 - 0
updateAccountAvgDaily.py

@@ -0,0 +1,156 @@
+"""
+@author: luojunhui
+"""
+
+import json
+import threading
+from datetime import datetime
+
+from pandas import DataFrame
+from tqdm import tqdm
+
+from applications import PQMySQL
+
+
+def filter_outlier_data(group, key='show_view_count'):
+    """
+
+    :param group:
+    :param key:
+    :return:
+    """
+    mean = group[key].mean()
+    std = group[key].std()
+    # 过滤二倍标准差的数据
+    filtered_group = group[(group[key] > mean - 2 * std) & (group[key] < mean + 2 * std)]
+    # 过滤均值倍数大于5的数据
+    new_mean = filtered_group[key].mean()
+    filtered_group = filtered_group[filtered_group[key] < new_mean * 5]
+    return filtered_group
+
+
+class UpdateMsgDaily(object):
+    """
+    日常更新文章
+    """
+
+    db_client = PQMySQL()
+    with open("config/accountInfoV2.json", encoding="utf-8") as f:
+        account_list = json.loads(f.read())
+    # subscription_account = [i for i in account_list if i['type'] == '订阅号']
+    # server_account = [i for i in account_list if i['type'] == '服务号']
+
+    @classmethod
+    def getAccountIdDict(cls):
+        """
+        获取全部内部账号的id
+        :return:
+        """
+        gh_id_dict = {}
+        for line in cls.account_list:
+            gh_id = line['gh_id']
+            gh_id_dict[gh_id] = line
+        return gh_id_dict
+
+    @classmethod
+    def getAllAvgRead(cls):
+        """
+
+        :return:
+        """
+        L = []
+        record_list = cls.account_list
+        for item in tqdm(record_list):
+            index_list = [i for i in range(1, 9)]
+            for index in index_list:
+                account_name = item['name']
+                print(account_name, index)
+                avg_read, avg_like = cls.getArticleByFilter(
+                    account_name=account_name,
+                    index=index,
+                    min_time=1716480000,
+                    max_time=1721836800
+                )
+                obj = {
+                    "account_name": account_name,
+                    "gh_id": item['ghId'],
+                    "fans": item.get('follower_count', 0),
+                    "position": index,
+                    "avg_read": avg_read,
+                    "avg_like": avg_like
+                }
+                L.append(obj)
+
+        with open("new_account_avg_v2.json", "w", encoding="utf-8") as f:
+            f.write(json.dumps(L, ensure_ascii=False, indent=4))
+
+    @classmethod
+    def getEachAvgRead(cls, account_name, index):
+        """
+        :return:
+        """
+        keys = [
+            "appMsgId",
+            "title",
+            "Type",
+            "updateTime",
+            "ItemIndex",
+            "ContentUrl",
+            "show_view_count",
+            "show_like_count",
+        ]
+        sql = f"""
+                    SELECT {", ".join(keys)}
+                    FROM official_articles_v2
+                    WHERE accountName = '{account_name}' and ItemIndex = {index};"""
+        result = cls.db_client.select(sql=sql)
+        return DataFrame(result, columns=keys)
+
+    @classmethod
+    def getArticleByFilter(
+            cls,
+            account_name,
+            index,
+            min_time=None,
+            max_time=None,
+            msg_type=None,
+    ):
+        """
+        :param account_name:
+        :param index: index ranges from 1 to 8
+        :param min_time: earliest time
+        :param max_time: latest time
+        :param msg_type: msg_type
+        :return:
+        """
+        if not msg_type:
+            msg_type = "9"
+        if not min_time:
+            min_time = 0
+        if not max_time:
+            # 2099年
+            max_time = 4088051123
+        articleDataFrame = cls.getEachAvgRead(account_name=account_name, index=index)
+        filterDataFrame = articleDataFrame[
+            (articleDataFrame["Type"] == msg_type)
+            & (min_time <= articleDataFrame["updateTime"])
+            & (articleDataFrame["updateTime"] <= max_time)
+            ]
+        # 过滤异常值
+        finalDF = filter_outlier_data(filterDataFrame)
+        return finalDF['show_view_count'].mean(), finalDF['show_like_count'].mean()
+
+
+def job_with_thread(job_func):
+    """
+    每个任务放到单个线程中
+    :param job_func:
+    :return:
+    """
+    job_thread = threading.Thread(target=job_func)
+    job_thread.start()
+
+
+if __name__ == "__main__":
+    UMD = UpdateMsgDaily()
+    UMD.getAllAvgRead()

+ 179 - 0
updateMinigramInfoDaily.py

@@ -0,0 +1,179 @@
+import json
+
+from concurrent.futures.thread import ThreadPoolExecutor
+from tqdm import tqdm
+from datetime import datetime, timedelta
+
+from applications import AdMySQL, PQMySQL, WeixinSpider
+
+
+class DailyDataManager(object):
+    """
+    daily 数据每日更新
+    """
+    ad_mysql = AdMySQL()
+    pq_mysql = PQMySQL()
+    wx_spider = WeixinSpider()
+
+    @classmethod
+    def getPublishedArticles(cls):
+        """
+        获取已经发布的文章的信息
+        :return:
+        """
+        sql2 = f"""
+        select ContentUrl, wx_sn, createTime 
+        from official_articles_v2 
+        where createTime >= 1724774400
+        and accountName in (
+                        select distinct account_name from account_avg_info_v2
+                        );
+        """
+        result_list = cls.pq_mysql.select(sql2)
+        return result_list
+
+    @classmethod
+    def getRootSourceIds(cls, data_info):
+        """
+        通过抓取接口获取 data_info
+        :return:
+        """
+        url = data_info[0]
+        article_detail = cls.wx_spider.get_article_text(url)
+        print(url)
+        print(article_detail)
+        mini_info = article_detail['data']['data']['mini_program']
+        return data_info[1].decode(), mini_info, data_info[2]
+
+    @classmethod
+    def getMinigramInfo(cls, rootSourceId):
+        """
+
+        :param rootIdTuple:
+        :return:
+        """
+        sql = f"""
+        select type, machinecode, create_time, first_level_dt 
+        from changwen_data_base_v2
+        where rootsourceid = '{rootSourceId}';
+        """
+        result_list = cls.ad_mysql.select(sql)
+
+        def summarize(values):
+            """
+            :param values:
+            :return:
+            """
+            L = {}
+            first_level = {}
+            fission_level = {}
+            for line in values:
+                # 先统计首层
+                if line[0] == '首层':
+                    try:
+                        dt = str(line[-1])
+                        key_dt = datetime.strptime(dt, '%Y%m%d').strftime('%Y-%m-%d')
+                        if first_level.get(key_dt):
+                            first_level[key_dt].add(line[1])
+                        else:
+                            first_level[key_dt] = {line[1]}
+                    except Exception as e:
+                        continue
+                else:
+                    try:
+                        dt = str(line[-1])
+                        first_level_dt = datetime.strptime(dt, '%Y%m%d')
+                        create_level_dt = line[-2]
+                        delta = create_level_dt - first_level_dt
+                        days = int(delta.days)
+                        key_dt = datetime.strptime(dt, '%Y%m%d').strftime('%Y-%m-%d')
+                        if fission_level.get(key_dt):
+                            fission_level[key_dt].append((line[1], days))
+                        else:
+                            fission_level[key_dt] = [(line[1], days)]
+                    except Exception as e:
+                        continue
+                        # print("first level dt is NULL")
+
+            tt = {}
+            for key in fission_level:
+                detail_list = fission_level[key]
+                temp = {}
+                for item in detail_list:
+                    mid, days = item
+                    if temp.get(days):
+                        temp[days].add(mid)
+                    else:
+                        temp[days] = {mid}
+                final = {}
+                for sub_key in temp:
+                    length = len(temp[sub_key])
+                    final[sub_key] = length
+                tt[key] = final
+            for key in first_level:
+                temp = [len(first_level[key]), tt.get(key, {}).get(0, 0), tt.get(key, {}).get(1, 0), tt.get(key, {}).get(2, 0)]
+                L[key] = temp
+            return L
+
+        return summarize(result_list)
+
+    @classmethod
+    def getArticleInfo(cls, trace_id):
+        """
+        通过 trace_id来获取文章信息
+        :param trace_id:
+        :return:
+        """
+        sql = f"""
+        SELECT account_name, article_title
+        FROM long_articles_video
+        WHERE trace_id = '{trace_id}';
+        """
+        info = cls.pq_mysql.select(sql)
+        return info[0]
+
+    @classmethod
+    def updateDetail(cls):
+        """
+
+        :return:
+        """
+        sql = f"""
+        select distinct root_source_id
+        from long_articles_detail_info;
+        """
+        source_id_list = cls.pq_mysql.select(sql)
+        for item in tqdm(source_id_list):
+            s_id = item[0]
+            try:
+                result = cls.getMinigramInfo(s_id)
+                for key in result:
+                    recall_dt = key
+                    first_level = result[key][0]
+                    fission_0 = result[key][1]
+                    fission_1 = result[key][2]
+                    fission_2 = result[key][3]
+                    print(key, first_level, fission_0, fission_1, fission_2)
+                    update_sql = f"""
+                    UPDATE long_articles_detail_info
+                    set first_level = %s, fission_0 = %s, fission_1 = %s, fission_2 = %s
+                    where root_source_id = %s and recall_dt = %s;
+                    """
+                    try:
+                        cls.pq_mysql.update(
+                            sql=update_sql,
+                            params=(
+                                first_level, fission_0, fission_1, fission_2, s_id, recall_dt
+                            )
+                        )
+                    except Exception as e:
+                        print("insert error", e)
+            except Exception as e:
+                print(e)
+
+
+if __name__ == '__main__':
+    DM = DailyDataManager()
+    # result = DM.getMinigramInfo("longArticles_d409f27d9d64501d6811b47a3779d2d7")
+    # print(result)
+    # DM.updateDetail()

+ 345 - 0
updatePublishedMsgDaily.py

@@ -0,0 +1,345 @@
+"""
+@author: luojunhui
+@description: update daily information into official articles v2
+"""
+
+import time
+import json
+import threading
+
+import requests
+import schedule
+from tqdm import tqdm
+from datetime import datetime
+
+from applications import PQMySQL
+from applications.decoratorApi import retryOnTimeout
+from applications import WeixinSpider
+from applications import Functions
+
+
+@retryOnTimeout()
+def bot(account_list):
+    """
+    机器人
+    """
+    url = "https://open.feishu.cn/open-apis/bot/v2/hook/b44333f2-16c0-4cb1-af01-d135f8704410"
+    headers = {"Content-Type": "application/json"}
+    payload = {
+        "msg_type": "interactive",
+        "card": {
+            "elements": [
+                {
+                    "tag": "div",
+                    "text": {
+                        "content": "存在文章更新失败<at id=all></at>\n",
+                        "tag": "lark_md",
+                    },
+                },
+                {
+                    "tag": "div",
+                    "text": {
+                        "content": json.dumps(
+                            account_list, ensure_ascii=False, indent=4
+                        ),
+                        "tag": "lark_md",
+                    },
+                },
+            ],
+            "header": {"title": {"content": "【重点关注】", "tag": "plain_text"}},
+        },
+    }
+    requests.request("POST", url=url, headers=headers, data=json.dumps(payload), timeout=10)
+
+
+def getAccounts():
+    """
+    获取账号信息
+    :return: [{}, {},...], [{}, {}, {}...]
+    """
+    with open("config/accountInfoV2.json", encoding="utf-8") as f:
+        account_list = json.loads(f.read())
+    subscription_account = [i for i in account_list if i['type'] == '订阅号']
+    server_account = [i for i in account_list if i['type'] == '服务号']
+    return subscription_account, server_account
+
+
+def insertEachMsg(db_client, gh_id, account_name, msg_list):
+    """
+    把消息数据更新到数据库中
+    :param db_client:
+    :param account_name:
+    :param gh_id:
+    :param msg_list:
+    :return:
+    """
+    for info in msg_list:
+        baseInfo = info.get("BaseInfo", {})
+        appMsgId = info.get("AppMsg", {}).get("BaseInfo", {}).get("AppMsgId", None)
+        createTime = info.get("AppMsg", {}).get("BaseInfo", {}).get("CreateTime", None)
+        updateTime = info.get("AppMsg", {}).get("BaseInfo", {}).get("UpdateTime", None)
+        # if int(time.time()) - int(updateTime) <= 20 * 60 * 60:
+        #     continue
+        Type = info.get("AppMsg", {}).get("BaseInfo", {}).get("Type", None)
+        detail_article_list = info.get("AppMsg", {}).get("DetailInfo", [])
+        if detail_article_list:
+            for article in detail_article_list:
+                title = article.get("Title", None)
+                Digest = article.get("Digest", None)
+                ItemIndex = article.get("ItemIndex", None)
+                ContentUrl = article.get("ContentUrl", None)
+                SourceUrl = article.get("SourceUrl", None)
+                CoverImgUrl = article.get("CoverImgUrl", None)
+                CoverImgUrl_1_1 = article.get("CoverImgUrl_1_1", None)
+                CoverImgUrl_235_1 = article.get("CoverImgUrl_235_1", None)
+                ItemShowType = article.get("ItemShowType", None)
+                IsOriginal = article.get("IsOriginal", None)
+                ShowDesc = article.get("ShowDesc", None)
+                show_stat = Functions().show_desc_to_sta(ShowDesc)
+                ori_content = article.get("ori_content", None)
+                show_view_count = show_stat.get("show_view_count", 0)
+                show_like_count = show_stat.get("show_like_count", 0)
+                show_zs_count = show_stat.get("show_zs_count", 0)
+                show_pay_count = show_stat.get("show_pay_count", 0)
+                wx_sn = ContentUrl.split("&sn=")[1].split("&")[0] if ContentUrl else None
+                info_tuple = (
+                    gh_id,
+                    account_name,
+                    appMsgId,
+                    title,
+                    Type,
+                    createTime,
+                    updateTime,
+                    Digest,
+                    ItemIndex,
+                    ContentUrl,
+                    SourceUrl,
+                    CoverImgUrl,
+                    CoverImgUrl_1_1,
+                    CoverImgUrl_235_1,
+                    ItemShowType,
+                    IsOriginal,
+                    ShowDesc,
+                    ori_content,
+                    show_view_count,
+                    show_like_count,
+                    show_zs_count,
+                    show_pay_count,
+                    wx_sn,
+                    json.dumps(baseInfo, ensure_ascii=False)
+                )
+                # print(info_tuple)
+                try:
+                    insert_sql = f"""
+                        INSERT INTO official_articles_v2
+                        (ghId, accountName, appMsgId, title, Type, createTime, updateTime, Digest, ItemIndex, ContentUrl, SourceUrl, CoverImgUrl, CoverImgUrl_1_1, CoverImgUrl_255_1, ItemShowType, IsOriginal, ShowDesc, ori_content, show_view_count, show_like_count, show_zs_count, show_pay_count, wx_sn, baseInfo)
+                        values
+                        (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);
+                        """
+                    db_client.update(sql=insert_sql, params=info_tuple)
+                    print("插入成功")
+                except Exception as e:
+                    try:
+                        update_sql = f"""
+                        UPDATE official_articles_v2
+                        SET show_view_count = %s, show_like_count=%s
+                        WHERE wx_sn = %s;
+                        """
+                        db_client.update(sql=update_sql,
+                                         params=(show_view_count, show_like_count, wx_sn))
+                        print("更新成功")
+                    except Exception as e:
+                        print("失败-{}".format(e))
+                        continue
+
+
+def updateEachAccount(db_client, gh_id, account_name, latest_update_time, cursor=None):
+    """
+    更新每一个账号信息
+    :param account_name:
+    :param cursor:
+    :param latest_update_time: 最新更新时间
+    :param db_client: 数据库连接信息
+    :param gh_id: 公众号 gh_id
+    :return: None
+    """
+    response = WeixinSpider().update_msg_list(ghId=gh_id, index=cursor)
+    msg_list = response.get("data", {}).get("data", {})
+    if msg_list:
+        # do
+        last_article_in_this_msg = msg_list[-1]
+        last_time_stamp_in_this_msg = last_article_in_this_msg['AppMsg']['BaseInfo']['UpdateTime']
+        last_url = last_article_in_this_msg['AppMsg']['DetailInfo'][0]['ContentUrl']
+        resdata = WeixinSpider().get_account_by_url(last_url)
+        check_name = resdata['data'].get('data', {}).get('account_name')
+        check_id = resdata['data'].get('data', {}).get('wx_gh')
+        if check_id == gh_id:
+            insertEachMsg(
+                db_client=db_client,
+                gh_id=gh_id,
+                account_name=account_name,
+                msg_list=msg_list
+            )
+            if last_time_stamp_in_this_msg > latest_update_time:
+                next_cursor = response['data']['next_cursor']
+                return updateEachAccount(
+                    db_client=db_client,
+                    gh_id=gh_id,
+                    account_name=check_name,
+                    latest_update_time=latest_update_time,
+                    cursor=next_cursor
+                )
+    else:
+        return
+
+
+def checkAccountInfo(db_client, gh_id):
+    """
+    通过 gh_id查询视频信息
+    :param db_client:
+    :param gh_id:
+    :return:
+    """
+    sql = f"""
+        select accountName, updateTime 
+        from official_articles_v2 
+        where ghId = '{gh_id}' 
+        order by updateTime DESC;
+        """
+    result = db_client.select(sql)
+    if result:
+        account_name, update_time = result[0]
+        return {
+            "account_name": account_name,
+            "update_time": update_time,
+            "account_type": "history"
+        }
+    else:
+        return {
+            "account_name": "",
+            "update_time": int(time.time()) - 30 * 24 * 60 * 60,
+            "account_type": "new"
+        }
+
+
+def updateSingleJob(db_client, gh_id):
+    """
+
+    :param db_client:
+    :param gh_id:
+    :return:
+    """
+    account_info = checkAccountInfo(db_client, gh_id)
+    account_name = account_info['account_name']
+    update_time = account_info['update_time']
+    updateEachAccount(
+        db_client=db_client,
+        gh_id=gh_id,
+        account_name=account_name,
+        latest_update_time=update_time
+    )
+
+
+def checkSingleAccount(db_client, account_item):
+    """
+    校验每个账号是否更新
+    :param db_client:
+    :param account_item:
+    :return: True / False
+    """
+    gh_id = account_item['ghId']
+    account_type = account_item['type']
+    today_str = datetime.today().strftime("%Y-%m-%d")
+    today_date_time = datetime.strptime(today_str, "%Y-%m-%d")
+    today_timestamp = today_date_time.timestamp()
+    sql = f"""
+                select updateTime
+                from official_articles_v2
+                where ghId = '{gh_id}'
+                order by updateTime
+                desc;
+            """
+    try:
+        latest_update_time = db_client.select(sql)[0][0]
+        # 判断该账号当天发布的文章是否被收集
+        if account_type == "订阅号":
+            if int(latest_update_time) > int(today_timestamp):
+                return True
+            else:
+                return False
+        else:
+            if int(latest_update_time) > int(today_timestamp) - 7 * 24 * 3600:
+                return True
+            else:
+                return False
+    except Exception as e:
+        print("updateTime Error -- {}".format(e))
+        return False
+
+
+def updateJob():
+    """
+    更新任务
+    :return:
+    """
+    db_client = PQMySQL()
+    sub_accounts, server_accounts = getAccounts()
+
+    for sub_item in tqdm(sub_accounts):
+        try:
+            updateSingleJob(db_client, sub_item['ghId'])
+            time.sleep(2)
+        except Exception as e:
+            print(e)
+    print("订阅号更新完成")
+
+    for sub_item in tqdm(server_accounts):
+        try:
+            updateSingleJob(db_client, sub_item['ghId'])
+            time.sleep(2)
+        except Exception as e:
+            print(e)
+
+    print("服务号更新完成")
+
+
+def checkJob():
+    """
+    校验任务
+    :return:
+    """
+    db_client = PQMySQL()
+    sub_accounts, server_accounts = getAccounts()
+    fail_list = []
+    account_list = sub_accounts + server_accounts
+    for sub_item in tqdm(account_list):
+        res = checkSingleAccount(db_client, sub_item)
+        if not res:
+            fail_list.append(sub_item)
+    if fail_list:
+        try:
+            bot(fail_list)
+        except Exception as e:
+            print("Timeout Error: {}".format(e))
+
+
+def job_with_thread(job_func):
+    """
+    每个任务放到单个线程中
+    :param job_func:
+    :return:
+    """
+    job_thread = threading.Thread(target=job_func)
+    job_thread.start()
+
+
+if __name__ == '__main__':
+
+    schedule.every().day.at("21:00").do(job_with_thread, updateJob)
+
+    schedule.every().day.at("21:30").do(job_with_thread, checkJob)
+
+    while True:
+        schedule.run_pending()
+        time.sleep(1)
+