From f212b741cb6c8580fda476a2aa7889d0d566071a Mon Sep 17 00:00:00 2001 From: karuo Date: Tue, 10 Mar 2026 19:36:19 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20=E5=8D=A1=E8=8B=A5AI=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=202026-03-10=2019:36=20|=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=EF=BC=9A=E5=8D=A1=E6=9C=A8=E3=80=81=E8=BF=90=E8=90=A5=E4=B8=AD?= =?UTF-8?q?=E6=9E=A2=E5=B7=A5=E4=BD=9C=E5=8F=B0=20|=20=E6=8E=92=E9=99=A4?= =?UTF-8?q?=20>20MB:=2011=20=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../多平台分发/cookies/抖音_cookies.json | 25 ++ .../多平台分发/cookies/视频号_cookies.json | 163 +++++++ .../多平台分发/脚本/content_filter.py | 422 ++++++++++++++++++ .../多平台分发/脚本/cookie_manager.py | 410 +++++++++-------- .../木叶_视频内容/多平台分发/脚本/publish_log.json | 48 +- .../多平台分发/脚本/schedule_generator.py | 2 +- .../木叶_视频内容/抖音发布/脚本/douyin_login.py | 35 +- .../木叶_视频内容/抖音发布/脚本/douyin_pure_api.py | 30 +- .../抖音发布/脚本/douyin_storage_state.json | 2 +- .../视频号发布/脚本/channels_api_login.py | 151 +++++++ .../视频号发布/脚本/channels_api_publish.py | 340 ++++++++++++++ .../视频号发布/脚本/channels_publish.py | 135 ++---- .../视频号发布/脚本/channels_set_cookie.py | 69 +++ .../视频号发布/脚本/channels_storage_state.json | 2 +- 运营中枢/工作台/gitea_push_log.md | 1 + 运营中枢/工作台/代码管理.md | 1 + 16 files changed, 1507 insertions(+), 329 deletions(-) create mode 100644 03_卡木(木)/木叶_视频内容/多平台分发/cookies/抖音_cookies.json create mode 100644 03_卡木(木)/木叶_视频内容/多平台分发/cookies/视频号_cookies.json create mode 100644 03_卡木(木)/木叶_视频内容/多平台分发/脚本/content_filter.py create mode 100644 03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_login.py create mode 100644 03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_publish.py create mode 100644 03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_set_cookie.py diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/cookies/抖音_cookies.json b/03_卡木(木)/木叶_视频内容/多平台分发/cookies/抖音_cookies.json new file mode 100644 index 00000000..42ea5ca5 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/多平台分发/cookies/抖音_cookies.json @@ -0,0 +1,25 @@ +{ + "cookies": [ + { + "name": "cookies", + "value": "[{'name': 'gd_random', 'value': 'eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC44NjI5ODY3NjA1Mjk5MTE3fQ==.rKHcvX7OslTui4JCIyDqPSXSFaLXtDr/bMsXHcEudqs=', 'domain': 'creator.douyin.com', 'path': '/goofy/douyin_creator_pc/creator_pc_vmok_common/vmok-manifest.json', 'expires': 1773747185.705257, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'gd_random', 'value': 'eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC44NjI5ODY3NjA1Mjk5MTE3fQ==.rKHcvX7OslTui4JCIyDqPSXSFaLXtDr/bMsXHcEudqs=', 'domain': 'creator.douyin.com', 'path': '/goofy/douyin_creator_pc/vmok/author-tag/vmok-manifest.json', 'expires': 1773747186.44576, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'gd_random', 'value': 'eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuODYyOTg2NzYwNTI5OTExN30=.v1QoIMQGyREUpt+pFSg+xF5IDBRV4AhjQC+VQ2JyhGo=', 'domain': 'creator.douyin.com', 'path': '/goofy/douyin_creator_pc', 'expires': 1773747185.87999, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'x-web-secsdk-uid', 'value': '29612944-6457-4072-bdfe-556895503650', 'domain': 'creator.douyin.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'gfkadpd', 'value': '2906,33638', 'domain': 'creator.douyin.com', 'path': '/', 'expires': 1773401547, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}, {'name': '_tea_utm_cache_2906', 'value': 'undefined', 'domain': '.creator.douyin.com', 'path': '/', 'expires': 1773747148, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'csrf_session_id', 'value': 'b4539a47f4c2a8271ddd2b16d79493b5', 'domain': 'creator.douyin.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}, {'name': 'ttwid', 'value': '1%7CIyCMHgXN_LgyacQLZqq8EMD1XCaAzxE88Fj1aZRsv8c%7C1773142348%7Ce1acced3049b73aa1d848f97cb90624320f30c61fac76fda96a6b7b53f8d67b9', 'domain': '.bytedance.com', 'path': '/', 'expires': 1804678348.940021, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': 'bd_ticket_guard_client_web_domain', 'value': '2', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.762192, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'passport_csrf_token', 'value': '52fb18255de663895e45a770181d7244', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326349.359633, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}, {'name': 'passport_csrf_token_default', 'value': '52fb18255de663895e45a770181d7244', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326349.359676, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'sdk_source_info', 'value': '7e276470716a68645a606960273f276364697660272927676c715a6d6069756077273f276364697660272927666d776a68605a607d71606b766c6a6b5a7666776c7571273f275e58272927666a6b766a69605a696c6061273f27636469766027292762696a6764695a7364776c6467696076273f275e5827292771273f27313d30373036373134363232342778', 'domain': '.douyin.com', 'path': '/', 'expires': 1773142652.61171, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'bit_env', 'value': 'sZQ6EHWl3RBcwtkRIGmeq_ByKuqOksNHqA-zMxMSB02TDXBxo28oK9bfoqpCwdOLaerhoPN4PjR8CE2PvHU4_0HZ4OPlWFmg3Jo9t95S0T2ZwlZ7bxddq3ZvN9uG_g8SZsheK0lNSfB0cJiDMp9vYQgdPHJo7vYqWm3jh2IoLTabI6iZUACTN-n0axuU5sCj-6e4gxTWwD9-_aaCSamRm8rWFIqLjaKXUP09H4iJoxiuTepBHAQK-hH48dk9y3fRu_RRP3xF-sqZvuGhUFkla7OUGvBm_R81VfwVy4pNvHr8-nQsKCvaJkDt6NYyaJ_NFrBCV8hTTVF_IEW111U-53-v-lknWTTpBpaq-cTstGV472zC2XCQejBE96BZySCdKEBfk5WrFPHLwC9T0_7MLSto-SNnzaRDT1EfbFSKyzwqw1eRV_OUScbQ1-UOWzatDb4LKWxE3fbGAH5jrjmqtT1c9NDlb-b4z9e20eC6hvpiHrJPBcCuLVYMXWBwYDdRt1cvaX-QbZFJG6Jk740cFcPYPku-TfJLXtD4xN1HJRs%3D', 'domain': '.douyin.com', 'path': '/', 'expires': 1773142652.611854, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'gulu_source_res', 'value': 'eyJwX2luIjoiNGQyZWY5YTQ5ZWRjMWRkODFjNjhhNDYzMTkwZDk5YzJlMTJhY2U4OTdjODg1Yzc5M2YzYTE0ODE0ZDQ1NGJkNSJ9', 'domain': '.douyin.com', 'path': '/', 'expires': 1773142652.611889, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'passport_auth_mix_state', 'value': 'ed3tu2h97olm14b23k77oxluhnuk39m7', 'domain': '.douyin.com', 'path': '/', 'expires': 1773142592.611913, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'passport_fe_beating_status', 'value': 'false', 'domain': '.creator.douyin.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'passport_mfa_token', 'value': 'CjUUgAroxy8ZrqXHUuwixlL3wOPYYAQCoHPce2CELAADlDA0wzQJOIcZ62Kp%2FAUBxH4lK3fYZRpKCjwAAAAAAAAAAAAAUCpcINeTVJS7%2FIzUAQZoEO76mFgxb5LzhtOxyf0acnH8IEQf%2FucFODMgiTecVsy9ZnAQqtuLDhj2sdFsIAIiAQP7YCev', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326384.72832, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'd_ticket', 'value': '516116834291daa33b1bfa06638262008ec95', 'domain': '.douyin.com', 'path': '/', 'expires': 1804678384.728348, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'biz_trace_id', 'value': 'f1972ae8', 'domain': '.douyin.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'odin_tt', 'value': 'ddc6994d1e244c72d73abc39c0483642c15c4644fd24d186a5ec19c3b45c3db05aaec6aab8edbef947bd171660832223', 'domain': '.douyin.com', 'path': '/', 'expires': 1804678385.131795, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'passport_assist_user', 'value': 'CjzcxvvGxKpYmFKA-NaKEU0AF0mNtJ0BUW6fR42KQQsHYxjshTyV8Z-Su08lpMy9pIDjSa26P7AJR5Se52EaSgo8AAAAAAAAAAAAAFAqar2sslRWBBbU_CN1rLmpXZzMGkoS7nucTzcWba-MZPyFxjzPWRCDZgEKwEpuL2lhEN7diw4Yia_WVCABIgEDON08ug%3D%3D', 'domain': '.douyin.com', 'path': '/', 'expires': 1807702385.131835, 'httpOnly': False, 'secure': True, 'sameSite': 'Lax'}, {'name': 'n_mh', 'value': 'KJdEUPavjSIo_936-mr2L_7xbccTWtvmWNdw6rL7RJM', 'domain': '.douyin.com', 'path': '/', 'expires': 1783510385.131853, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': 'sid_guard', 'value': '56c00c679903600b8119e16fd4662e6e%7C1773142385%7C5184000%7CSat%2C+09-May-2026+11%3A33%3A05+GMT', 'domain': '.douyin.com', 'path': '/', 'expires': 1804246385.131864, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'uid_tt', 'value': '42884b285dad2f76ef4e9994987fc7f2', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131873, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'uid_tt_ss', 'value': '42884b285dad2f76ef4e9994987fc7f2', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131883, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': 'sid_tt', 'value': '56c00c679903600b8119e16fd4662e6e', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131895, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'sessionid', 'value': '56c00c679903600b8119e16fd4662e6e', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131905, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'sessionid_ss', 'value': '56c00c679903600b8119e16fd4662e6e', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131914, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': 'session_tlb_tag', 'value': 'sttt%7C15%7CVsAMZ5kDYAuBGeFv1GYubv_________rHMynrkmGSwKwjiiz7-YGf48x8lMIA-wrgKMy7INLQf8%3D', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131923, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': 'is_staff_user', 'value': 'false', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131933, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'sid_ucp_v1', 'value': '1.0.0-KGZlMjE1YTcxYThkMmQyYzlkOTIwYTFiYTM4YmQ2NGFkNmM1Mjk0YmYKHwiR_ozr4wIQ8YLAzQYY2hYgDDDP4q_VBTgHQPQHSAQaAmxmIiA1NmMwMGM2Nzk5MDM2MDBiODExOWUxNmZkNDY2MmU2ZQ', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131942, 'httpOnly': True, 'secure': True, 'sameSite': 'Lax'}, {'name': 'ssid_ucp_v1', 'value': '1.0.0-KGZlMjE1YTcxYThkMmQyYzlkOTIwYTFiYTM4YmQ2NGFkNmM1Mjk0YmYKHwiR_ozr4wIQ8YLAzQYY2hYgDDDP4q_VBTgHQPQHSAQaAmxmIiA1NmMwMGM2Nzk5MDM2MDBiODExOWUxNmZkNDY2MmU2ZQ', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.131952, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': 'gd_random', 'value': 'eyJwZXJjZW50IjowLjg2Mjk4Njc2MDUyOTkxMTcsIm1hdGNoIjpmYWxzZX0=.j3eLXHRZV+haPfmuVu+yMJrLQSWH+HQvtOenKHEIeTo=', 'domain': 'creator.douyin.com', 'path': '/', 'expires': 1773747185.254939, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'}, {'name': '_bd_ticket_crypt_doamin', 'value': '2', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.679402, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'ttwid', 'value': '1%7CIyCMHgXN_LgyacQLZqq8EMD1XCaAzxE88Fj1aZRsv8c%7C1773142385%7Cbd06c83d665b00320a3179e3a0bf121e593adf9414c7ac61a0aab9a253650bb0', 'domain': '.douyin.com', 'path': '/', 'expires': 1804678385.721715, 'httpOnly': True, 'secure': True, 'sameSite': 'None'}, {'name': '_bd_ticket_crypt_cookie', 'value': '4e51cbf77ff7292124cfe98c6657f40f', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.743882, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': '__security_mc_1_s_sdk_sign_data_key_web_protect', 'value': '48859d09-47ef-9112', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.744799, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': '__security_mc_1_s_sdk_cert_key', 'value': '04ccbedd-45b2-8ed9', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.744843, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': '__security_mc_1_s_sdk_crypt_sdk', 'value': '0924e001-4327-988e', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.744869, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': '__security_server_data_status', 'value': '1', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.750596, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'bd_ticket_guard_client_data', 'value': 'eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCQVp5dmY5c1ZwdCttT3lTN1RxbEZiVWc5NFVkVVg5Q2RHS0dLaW14R3ZLRXltRTc1Z1Zic2x2OXY4SFJLR1g2M3BGMjQzZzRWTlFmcjZwVDAyajR4cEE9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoyfQ%3D%3D', 'domain': '.douyin.com', 'path': '/', 'expires': 1778326385.762154, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, {'name': 'fg_uid', 'value': 'RID20260310193306FAF56E39184D0783A81F', 'domain': 'api.feelgood.cn', 'path': '/', 'expires': 1804678386.232694, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}, {'name': 'csrf_session_id', 'value': '332689be4e6797710016411115dd463e', 'domain': 'summon.bytedance.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}]", + "domain": ".douyin.com", + "path": "/", + "expires": 1775734470.294828, + "httpOnly": false, + "secure": true, + "sameSite": "None" + }, + { + "name": "origins", + "value": "[{'origin': 'https://creator.douyin.com', 'localStorage': [{'name': 'login_type_from_login', 'value': '\"\"'}, {'name': 'LOGIN_STATUS', 'value': '{\"logintype\":\"user\",\"loginapp\":\"douyin\"}'}, {'name': '__msuuid__', 'value': 'a71cba43-ed27-4bf9-bdc5-93c40b28fffa'}, {'name': 'CREATOR_LAYOUT_CONFIG', 'value': '{\"headerLogo\":{\"douyin\":{\"src\":\"//lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/pc/icons/logo.png\"},\"huoshan\":{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_logo_h.png~tplv-obj.image\"}},\"hotsoonHelpShow\":false,\"footerLink\":[{\"children\":\"账号授权协议\",\"href\":\"//lf3-beecdn.bytetos.com/obj/ies-fe-bee/bee_prod/biz_181/bee_prod_181_bee_publish_1095.html\"},{\"children\":\"用户服务协议\",\"href\":\" //www.douyin.com/agreement/\"},{\"children\":\"隐私政策\",\"href\":\" //www.douyin.com/privacy/\"},{\"children\":\"账号找回\",\"href\":\" //www.douyin.com/recovery_account/\"},{\"children\":\"联系我们\",\"href\":\" //www.douyin.com/aboutus/\"}],\"footerText\":[[\"2025 © 抖音\",\"[京ICP备16016397号-3](https://beian.miit.gov.cn/)\",\"[北京抖音科技有限公司](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/营业执照.jpg)\",\"[京B2-20170846](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/增值电信业务经营许可证.jpg)\"],[\"[中国互联网举报中心](http://www.12377.cn/)\",\"[网络文化经营许可证-京网文〔2025〕0181-061号](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/网络经营许可证.jpg)\",\"违法和不良信息举报:400-140-2108\",\"举报邮箱:feedback@douyin.com\"],[\"![pic](//p3.douyinpic.com/aweme-server-static-resource/gongan_d0289dc.png~tplv-obj.image)\",\"[京公网安备11000002002046号](http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11000002002046)\",\"地址:北京市海淀区北三环西路甲18号院4号楼2层2022\"]],\"permissionKeys\":[{\"itemKey\":\"/authority\",\"text\":\"授权管理\",\"show\":true,\"permission\":\"CreatorConferManage\"},{\"itemKey\":\"/content/\",\"text\":\"内容管理\",\"path\":[\"/live/media/create\",\"/live/media/room\",\"/live/media/list\"],\"show\":true,\"permission\":\"CreatorContentManage\"},{\"itemKey\":\"/following\",\"text\":\"互动管理\",\"show\":true,\"permission\":\"CreatorInterManage\"},{\"itemKey\":\"/data\",\"text\":\"数据管理\",\"path\":[\"/live/media/data\"],\"show\":true,\"permission\":\"CreatorDataManage\"},{\"itemKey\":\"/musician\",\"text\":\"音乐管理\",\"show\":true,\"restrictHotsoon\":true,\"permission\":\"CreatorMusicManage\"},{\"itemKey\":\"/publicity/topic\",\"text\":\"宣发管理\",\"show\":false,\"restrictHotsoon\":true,\"permission\":\"CreatorContentManage.Challenge\"}],\"headerIcons\":[{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification_icon.svg~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"visible\":{\"has_unread_message\":false,\"is_login_hotsoon\":false}},{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification.png~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"style\":{\"width\":\"24px\",\"height\":\"24px\"},\"badge\":{\"count\":\"unread_message_count\"},\"visible\":{\"has_unread_message\":true,\"is_login_hotsoon\":false}}],\"sidebarFollowerTip\":\"仅展示抖音粉丝\",\"sidebarData\":{\"data\":[{\"name\":\"视频数据\",\"keyName\":\"CreatorDataManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_vedio.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/stats/overview\",\"name\":\"数据总览\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/video\",\"name\":\"作品数据\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/follower/portrait\",\"name\":\"粉丝画像\",\"keyName\":\"CreatorDataManage.Portrait\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/hotsoon-overview\",\"name\":\"数据总览\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/data/stats/hotsoon-item\",\"name\":\"作品数据\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/weekly\",\"name\":\"创作周报\",\"keyName\":\"CreatorDataManage.WeekReport\",\"visible\":{\"is_login_hotsoon\":false}}]},{\"name\":\"直播数据\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_data_icon.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/live/overview\",\"name\":\"数据总览\",\"key\":\"CreatorDataManage.Live\"},{\"path\":\"/live/media/data\",\"name\":\"数据总览\",\"key\":\"CreatorLiveManage.Data\"},{\"path\":\"/data/live/video\",\"name\":\"单场数据\",\"key\":\"CreatorDataManage.Live\"}]},{\"name\":\"重点关注\",\"keyName\":\"CreatorDataManage\",\"auth\":true,\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_inportant.svg~tplv-obj.image\",\"visible\":[{\"status_code\":8,\"window.location.host\":\"creator.douyin.com\"},{\"status_code\":15384,\"window.location.host\":\"creator.douyin.com\"},{\"is_login_hotsoon\":false}],\"children\":[{\"path\":\"/data/important/following\",\"name\":\"我关心的\",\"keyName\":\"CreatorDataManage.TraceOthers\"},{\"path\":\"/data/important/keyword\",\"name\":\"与我相关\",\"keyName\":\"CreatorDataManage.SearchSelf\"}]}],\"interaction\":[{\"name\":\"互动管理\",\"keyName\":\"CreatorInterManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_following.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/following/following\",\"name\":\"关注管理\"},{\"path\":\"/following/follower\",\"name\":\"粉丝管理\"},{\"path\":\"/following/comment\",\"name\":\"评论管理\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/following/chat\",\"name\":\"私信管理\",\"key\":\"CreatorInterManage.im\",\"keyName\":\"CreatorInterManage.im\",\"visible\":{\"is_login_hotsoon\":false,\"douyin_user_verify_info.teen_model\":false}}]}],\"publicity\":[{\"name\":\"宣发管理\",\"key\":\"CreatorContentManage.Challenge\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_publicity.svg~tplv-obj.image\",\"children\":[{\"path\":\"/publicity/topic\",\"name\":\"话题管理\"}]}],\"music\":[{\"name\":\"音乐管理\",\"key\":\"CreatorMusicManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_music.svg~tplv-obj.image\",\"children\":[{\"path\":\"/musician\",\"name\":\"概览\"},{\"path\":\"/musician/songs\",\"name\":\"音乐管理\"},{\"path\":\"/musician/statistics\",\"name\":\"数据管理\"}]}],\"live\":[{\"name\":\"直播管理\",\"key\":\"CreatorLiveManage\",\"children\":[{\"path\":\"/live/media/create\",\"name\":\"创建直播\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livecreate.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Create\"},{\"path\":\"/live/media/list\",\"name\":\"直播列表\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livelist.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.List\"},{\"path\":\"/live/media/replay\",\"name\":\"直播回放\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livereplay.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Replay\"}]},{\"name\":\"数据管理\",\"key\":\"CreatorLiveManage.Data\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"children\":[{\"path\":\"/live/media/data\",\"name\":\"直播数据\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Data\"}]}],\"media\":[{\"name\":\"发布视频\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_upload_v2.svg~tplv-obj.image\",\"path\":[\"/content/upload\",\"/content/publish\"]},{\"name\":\"内容管理\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_manage_v2.svg~tplv-obj.image\",\"children\":[{\"path\":\"/content/manage\",\"name\":\"视频管理\",\"icon\":\"\"},{\"path\":[\"/content/collection/manage\",\"/content/collection/detail\",\"/content/collection/create\"],\"name\":\"合集管理\",\"icon\":\"\",\"visContextKey\":\"userInfo.mix_permission\",\"visContextValue\":true},{\"path\":\"/content/safeguard\",\"name\":\"维权管理\",\"icon\":\"\",\"visContextKey\":\"userInfo.permission.user_sign\",\"visContextValue\":true}]},{\"name\":\"直播管理\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_livecreate_v2.svg~tplv-obj.image\",\"visContextKey\":\"creatorMenu.live_manage\",\"visContextValue\":true,\"children\":[{\"path\":\"/live/media/create\",\"name\":\"创建直播\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Create\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/live/media/list\",\"name\":\"直播列表\",\"icon\":\"\",\"key\":\"CreatorLiveManage.List\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"直播回放\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Replay\",\"visContextKey\":\"creatorMenu.replay_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"直播回放\",\"key\":\"CreatorCommonManage.Replay\"}]}]}}'}, {'name': '__tea_cache_first_2906', 'value': '1'}, {'name': '__tea_cache_tokens_5231', 'value': '{\"web_id\":\"7615588514201667081\",\"user_unique_id\":\"7615588514201667081\",\"timestamp\":1773142386619,\"_type_\":\"default\"}'}, {'name': 'ztsdk_tcc_config', 'value': '{\"value\":{\"ztsdk_config\":{\"2906\":[{\"aid\":2906,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"providerPathList\":[],\"consumerPathList\":[\"/aweme/v1/creator/relation/create/\",\"/web/api/v2/creator/activity/collect/\",\"/live/api/room/create_media_room/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_publish/\",\"/aweme/v1/web/comment/multi_publish/\",\"/aweme/janus/creator/comment/aweme/v1/comment/publish/\",\"/aweme/v1/web/comment/publish/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/digg/\",\"/aweme/v1/web/comment/digg/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/creator/comment/reply/\",\"/aweme/v1/creator/comment/action/\"],\"signVersion\":2}],\"6383\":[{\"aid\":6383,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"consumerPathList\":[\"/aweme/v1/web/comment/list/reply/\",\"/aweme/v1/web/comment/list/\",\"/aweme/v2/web/comment/list/reply/\"],\"signVersion\":2}]}},\"expire\":1773163948898}'}, {'name': '__tea_sdk_ab_version_2906', 'value': '{\"ab_version\":[\"90613695\",\"90112463\",\"90111556\"],\"ab_ext_version\":[],\"ab_version_multilink\":[],\"data\":{\"ai_gen_cover\":{\"val\":1,\"vid\":\"15080732\"},\"assistantImage\":{\"val\":1,\"vid\":\"90116780\"},\"chapter_recommend_after_publish\":{\"val\":0,\"vid\":\"14187473\"},\"chapter_sync_reach\":{\"val\":1,\"vid\":\"91050166\"},\"chapter_video_status\":{\"val\":2,\"vid\":\"90953361\"},\"co_create_new_role\":{\"val\":true,\"vid\":\"90611581\"},\"collection_enable_set_secret_status\":{\"val\":1,\"vid\":\"90124858\"},\"cover_editor_interaction_opti\":{\"val\":2,\"vid\":\"90599399\"},\"cover_filling_rate_increase_all\":{\"val\":1,\"vid\":\"15074841\"},\"cover_h265_ffmpeg_capture\":{\"val\":true,\"vid\":\"90166065\"},\"creatorDynamicConfigV3\":{\"val\":{\"dynamicSliceRule\":{\"highSize\":10485760,\"lowNormalThreshold\":200,\"lowSize\":3145728,\"normalHighThreshold\":400,\"normalSize\":5242880},\"enableDynamicSlice\":true,\"enableDynamicSliceMinFileSize\":52428800,\"enableRouteSelect\":false},\"vid\":\"91210179\"},\"creator_comment_manage\":{\"val\":1,\"vid\":\"90613695\"},\"creator_danmaku_manage\":{\"val\":{\"menus_show\":1},\"vid\":\"90118007\"},\"creator_data_bullet_analysis\":{\"val\":{\"bullet_analysis_tab_show\":2},\"vid\":\"90128271\"},\"creator_data_new\":{\"val\":true,\"vid\":\"90081040\"},\"creator_data_progress_analysis\":{\"val\":{\"fans_analysis_tab_show\":1},\"vid\":\"90128191\"},\"creator_pc\":{\"val\":{\"tab_ab_show_new_home\":1},\"vid\":\"90109488\"},\"creator_pc_1_3_intell_chapter\":{\"val\":1,\"vid\":\"90122502\"},\"creator_pc_clip\":{\"val\":{\"capcut\":1},\"vid\":\"90119963\"},\"creator_pc_cover_min_size\":{\"val\":2,\"vid\":\"90126311\"},\"creator_pc_data_center\":{\"val\":{\"is_new_live_content\":1},\"vid\":\"90111860\"},\"creator_pc_data_center_new_list\":{\"val\":1,\"vid\":\"90625082\"},\"creator_pc_game_mounted_anchor_reedit\":{\"val\":1,\"vid\":\"90122407\"},\"creator_pc_game_mounted_anchor_revision_v2\":{\"val\":2,\"vid\":\"90125303\"},\"creator_pc_game_mounted_game_activity_profit\":{\"val\":3,\"vid\":\"90127201\"},\"creator_pc_home\":{\"val\":{\"interactive_show_type\":2},\"vid\":\"90111556\"},\"creator_pc_image_music_optimization\":{\"val\":1,\"vid\":\"90962255\"},\"creator_pc_mission\":{\"val\":{\"visible\":1},\"vid\":\"90112463\"},\"creator_pc_modify_item_entrance\":{\"val\":1,\"vid\":\"90128660\"},\"creator_pc_new_cover_text\":{\"val\":true,\"vid\":\"90125008\"},\"creator_pc_org\":{\"val\":{\"new_org\":1},\"vid\":\"90123271\"},\"creator_pc_org_home\":{\"val\":{\"new_home\":1},\"vid\":\"90112354\"},\"creator_pc_recommend_cover_opt\":{\"val\":true,\"vid\":\"90127437\"},\"creator_pc_tab_ab\":{\"val\":{\"account_show\":2},\"vid\":\"90092974\"},\"creator_pc_upload_cancel_btn\":{\"val\":0,\"vid\":\"90173282\"},\"creator_pc_upload_progress_detail\":{\"val\":1,\"vid\":\"90173281\"},\"creator_pc_video_music_optimization\":{\"val\":1,\"vid\":\"90945842\"},\"creator_pc_video_quality_intro\":{\"val\":2,\"vid\":\"91037348\"},\"creator_pc_work_detail_version\":{\"val\":1,\"vid\":\"90356254\"},\"creator_publish_cover_check\":{\"val\":1,\"vid\":\"90122334\"},\"creator_school_nav\":{\"val\":{\"nav_type\":1},\"vid\":\"90081895\"},\"creator_upload_async\":{\"val\":1,\"vid\":\"90324260\"},\"creator_upload_cancel\":{\"val\":1,\"vid\":\"90124601\"},\"creator_uploader_tos_direct\":{\"val\":1,\"vid\":\"90126365\"},\"data_cover_rate\":{\"val\":{\"is_show_cover_rate\":true},\"vid\":\"90121311\"},\"dict\":{\"val\":{\"canShowUserDeclaration\":true},\"vid\":\"90114001\"},\"douyin_cover_imagelayer_editable\":{\"val\":true,\"vid\":\"90111484\"},\"douyin_outer_progress_enbale\":{\"val\":1,\"vid\":\"90118893\"},\"douyin_pc_creator_image_text\":{\"val\":true,\"vid\":\"90093311\"},\"download_frame_limit\":{\"val\":3,\"vid\":\"91217036\"},\"editor_filter\":{\"val\":true,\"vid\":\"90122909\"},\"enableChapterSelfMade\":{\"val\":1,\"vid\":\"90940916\"},\"enhance_cover_check_dual\":{\"val\":1,\"vid\":\"90906860\"},\"is_new_loki\":{\"val\":1,\"vid\":\"90975626\"},\"is_show_pc_content_analysis\":{\"val\":{\"enabled\":1},\"vid\":\"90118423\"},\"is_show_tagged_page\":{\"val\":true,\"vid\":\"90992719\"},\"limit_recommend_cover_local\":{\"val\":true,\"vid\":\"91283345\"},\"maxReadConcurrent\":{\"val\":5,\"vid\":\"91210181\"},\"openReadConcurrent\":{\"val\":true,\"vid\":\"91210180\"},\"publish_layout\":{\"val\":2,\"vid\":\"91020340\"},\"quick_fill\":{\"val\":true,\"vid\":\"90997687\"},\"recommend_chapter_async_link\":{\"val\":1,\"vid\":\"90129292\"},\"refine_cover_tool\":{\"val\":2,\"vid\":\"90120266\"},\"show_activity_tag\":{\"val\":true,\"vid\":\"90102355\"},\"show_info\":{\"val\":1,\"vid\":\"90126292\"},\"show_intellect_chapter_entry\":{\"val\":1,\"vid\":\"90094899\"},\"slardar_filter\":{\"val\":true,\"vid\":\"90122697\"},\"table_tab\":{\"val\":\"contribute\",\"vid\":\"90094565\"},\"test\":{\"val\":true,\"vid\":\"90082519\"},\"title_permission_new\":{\"val\":1,\"vid\":\"90111481\"},\"use_new_player\":{\"val\":true,\"vid\":\"91048272\"},\"vertical_video_double_cover\":{\"val\":1,\"vid\":\"91234029\"}},\"timestamp\":1773142386358,\"uuid\":\"95519194897\"}'}, {'name': 'security-sdk/s_sdk_server_cert_key', 'value': '{\"cert\":\"-----BEGIN CERTIFICATE-----\\\\nMIIEfTCCBCKgAwIBAgIUXWdS2tzmSoewCWfKFyiWMrJqs/0wCgYIKoZIzj0EAwIw\\\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\\\nNTYwIBcNMjIxMTE4MDUyMDA2WhgPMjA2OTEyMzExNjAwMDBaMCQxCzAJBgNVBAYT\\\\nAkNOMRUwEwYDVQQDEwxlY2llcy1zZXJ2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMB\\\\nBwNCAASE2llDPlfc8Rq+5J5HXhg4edFjPnCF3Ua7JBoiE/foP9m7L5ELIcvxCgEx\\\\naRCHbQ8kCCK/ArZ4FX/qCobZAkToo4IDITCCAx0wDgYDVR0PAQH/BAQDAgWgMDEG\\\\nA1UdJQQqMCgGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwME\\\\nMCkGA1UdDgQiBCABydxqGrVEHhtkCWTb/vicGpDZPFPDxv82wiuywUlkBDArBgNV\\\\nHSMEJDAigCAypWfqjmRIEo3MTk1Ae3MUm0dtU3qk0YDXeZSXeyJHgzCCAZQGCCsG\\\\nAQUFBwEBBIIBhjCCAYIwRgYIKwYBBQUHMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0\\\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL29jc3AwRgYIKwYBBQUH\\\\nMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\\\ncnRpZmljYXRlL29jc3AwdwYIKwYBBQUHMAKGa2h0dHA6Ly9uZXh1cy1wcm9kdWN0\\\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL2Rvd25sb2FkLzQ4RjlD\\\\nMEU3QjBDNUE3MDVCOTgyQkU1NTE3MDVGNjQ1QzhDODc4QTguY3J0MHcGCCsGAQUF\\\\nBzAChmtodHRwOi8vbmV4dXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UubmV0L2FwaS9j\\\\nZXJ0aWZpY2F0ZS9kb3dubG9hZC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1\\\\nRjY0NUM4Qzg3OEE4LmNydDCB5wYDVR0fBIHfMIHcMGygaqBohmZodHRwOi8vbmV4\\\\ndXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UuY29tL2FwaS9jZXJ0aWZpY2F0ZS9jcmwv\\\\nNDhGOUMwRTdCMEM1QTcwNUI5ODJCRTU1MTcwNUY2NDVDOEM4NzhBOC5jcmwwbKBq\\\\noGiGZmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\\\ncnRpZmljYXRlL2NybC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1RjY0NUM4\\\\nQzg3OEE4LmNybDAKBggqhkjOPQQDAgNJADBGAiEAqMjT5ADMdGMeaImoJK4J9jzE\\\\nLqZ573rNjsT3k14pK50CIQCLpWHVKWi71qqqrMjiSDvUhpyO1DpTPRHlavPRuaNm\\\\nww==\\\\n-----END CERTIFICATE-----\",\"sn\":\"533240336124694022040808462028007165443034493949\",\"createdTime\":1773142349607}'}, {'name': '__tea_cache_first_1661', 'value': '1'}, {'name': 'SLARDARdouyin_creator', 'value': 'JTdCJTIydXNlcklkJTIyOiUyMjk1NTE5MTk0ODk3JTIyLCUyMmRldmljZUlkJTIyOiUyMjc5YTU3MGY4LThiOWItNGIyZi1hYjc0LTY2ZTJiYmFlMjE5MCUyMiwlMjJleHBpcmVzJTIyOjE3ODA5MTgzODU1MjklN0Q='}, {'name': '__tea_cache_first_408314', 'value': '1'}, {'name': 'https://creator.douyin.com-operation', 'value': 'false'}, {'name': 'security-sdk/s_sdk_pub_key', 'value': '{\"key\":\"security-sdk/s_sdk_pub_key\",\"data\":\"-----BEGIN PUBLIC KEY-----\\\\r\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHfp9romhovn9n3BjPfStmf517g6q\\\\r\\\\nWvGnBK1QrQzgS9xaORDmRcMyoCn5HsmMHglCdCajDGkSJKqzi3RCS8odoA==\\\\r\\\\n-----END PUBLIC KEY-----\\\\r\\\\n\",\"createTime\":1773142386782,\"expireTime\":4102444799000}'}, {'name': '__tea_cache_tokens_408314', 'value': '{\"web_id\":\"7615588496108144166\",\"user_unique_id\":\"7615588496108144166\",\"timestamp\":1773142386622,\"_type_\":\"default\"}'}, {'name': 'security-sdk/s_sdk_cert_key', 'value': '{\"key\":\"security-sdk/s_sdk_cert_key\",\"data\":\"-----BEGIN CERTIFICATE-----\\\\nMIICFzCCAb6gAwIBAgIUBvEE6gh0mASp9XEhGJt3m0Hg3F4wCgYIKoZIzj0EAwIw\\\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\\\nNTYwHhcNMjYwMzEwMTEzMzA3WhcNMzYwMzEwMTkzMzA3WjAnMQswCQYDVQQGEwJD\\\\nTjEYMBYGA1UEAwwPYmRfdGlja2V0X2d1YXJkMFkwEwYHKoZIzj0CAQYIKoZIzj0D\\\\nAQcDQgAEHfp9romhovn9n3BjPfStmf517g6qWvGnBK1QrQzgS9xaORDmRcMyoCn5\\\\nHsmMHglCdCajDGkSJKqzi3RCS8odoKOBvTCBujAOBgNVHQ8BAf8EBAMCBaAwMQYD\\\\nVR0lBCowKAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUHAwQw\\\\nKQYDVR0OBCIEIE2FFJxIVTZ4Yo7udetfySiydod5BdNa9BsEEbCMR+ziMCsGA1Ud\\\\nIwQkMCKAIDKlZ+qOZEgSjcxOTUB7cxSbR21TeqTRgNd5lJd7IkeDMB0GA1UdEQQW\\\\nMBSCEmNyZWF0b3IuZG91eWluLmNvbTAKBggqhkjOPQQDAgNHADBEAiB+oo0urxKp\\\\nvmwZcyqDxBRBqyvjsory1stxYbKkEDYKsAIgKdnnf3KNP58nkIxtFabZdg1nv72v\\\\n1C8QomPBy3FdYWY=\\\\n-----END CERTIFICATE-----\\\\n\",\"createTime\":1773142386967,\"expireTime\":4102444799000}'}, {'name': '__tea_cache_tokens_1661', 'value': '{\"web_id\":\"1170910881415747141\",\"user_unique_id\":\"95519194897\",\"timestamp\":1773142385626,\"_type_\":\"default\"}'}, {'name': '=^_^=athena_web_id', 'value': 'fc0fe62c-7e37-4810-84c9-00c91235124c'}, {'name': 'SLARDARmfa_web', 'value': 'JTdCJTIydXNlcklkJTIyOiUyMjBiNTFjNjIwLTRmYjgtNDY0Ni05MTYyLWUzMGU1NTljOTM2MiUyMiwlMjJkZXZpY2VJZCUyMjolMjI2YTA4M2M1OS03ODU1LTRkODctYTAxNC05YmVlOGE0ZDBmYWMlMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4MzY4MzYzJTdE'}, {'name': 'security-sdk/s_sdk_crypt_sdk', 'value': '{\"data\":\"{\\\\\"ec_privateKey\\\\\":\\\\\"-----BEGIN PRIVATE KEY-----\\\\\\\\r\\\\\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgALKVtFqi9XuFLRJc\\\\\\\\r\\\\\\\\nw3yBSXkJvoOVMia68I1muNY5GgmhRANCAAQGcr3/bFabfpjsku06pRW1IPeFHVF/\\\\\\\\r\\\\\\\\nQnRihiopsRryhMphO+YFW7Jb/b/B0Shl+t6RduN4OFTUH6+qU9No+MaQ\\\\\\\\r\\\\\\\\n-----END PRIVATE KEY-----\\\\\\\\r\\\\\\\\n\\\\\",\\\\\"ec_publicKey\\\\\":\\\\\"-----BEGIN PUBLIC KEY-----\\\\\\\\r\\\\\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBnK9/2xWm36Y7JLtOqUVtSD3hR1R\\\\\\\\r\\\\\\\\nf0J0YoYqKbEa8oTKYTvmBVuyW/2/wdEoZfrekXbjeDhU1B+vqlPTaPjGkA==\\\\\\\\r\\\\\\\\n-----END PUBLIC KEY-----\\\\\\\\r\\\\\\\\n\\\\\",\\\\\"ec_csr\\\\\":\\\\\"\\\\\"}\"}'}, {'name': '__tea_cache_tokens_2906', 'value': '{\"user_unique_id\":\"95519194897\",\"web_id\":\"7615588322623555124\",\"timestamp\":1773142386141,\"_type_\":\"default\"}'}, {'name': '__tea_cache_first_5231', 'value': '1'}, {'name': 'security-sdk/s_sdk_pri_key', 'value': '{\"key\":\"security-sdk/s_sdk_pri_key\",\"data\":\"-----BEGIN PRIVATE KEY-----\\\\r\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqf7MoAKuOTsVdHa8\\\\r\\\\nb4a73hiyoH+MTFWqnH+s0BJR6zChRANCAAQd+n2uiaGi+f2fcGM99K2Z/nXuDqpa\\\\r\\\\n8acErVCtDOBL3Fo5EOZFwzKgKfkeyYweCUJ0JqMMaRIkqrOLdEJLyh2g\\\\r\\\\n-----END PRIVATE KEY-----\\\\r\\\\n\",\"createTime\":1773142386782,\"expireTime\":4102444799000}'}, {'name': 'xmst', 'value': '87S5TVId_WYBhu8z3PbyaPRu6mfvitisXbORylR2-qv4Ku9Rj14QRaFIuyaE0vK0TzfeKIjdX9CKYFRSVNH0jdVHJKmqaeF7mVPScAV-gowLYY_c6j-W928l6aF6VX0i5mCEP6_rAEHt_jLFomjgzwwBpdflKpJWRTA5J3A2Q7OBRETOTfD5VkwI'}, {'name': 'security-sdk/s_sdk_sign_data_key/web_protect', 'value': '{\"data\":\"{\\\\\"ticket\\\\\":\\\\\"hash.PqHTVb1frBB9JY1DfpUuyJrw8/nT/HTLb27s8zPGvic=\\\\\",\\\\\"ts_sign\\\\\":\\\\\"ts.2.98c4f8ce29ec121fd45de21b1e343ec45f2087f8792ba80d398b87808ae7ebcfc4fbe87d2319cf05318624ceda14911ca406dedbebeddb2e30fce8d4fa02575d\\\\\",\\\\\"client_cert\\\\\":\\\\\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\\\\\",\\\\\"log_id\\\\\":\\\\\"20260310193304EA60F4613BBFF71EBD5B\\\\\",\\\\\"create_time\\\\\":1773142385}\"}'}, {'name': 'SLARDARuc_secure_sdk', 'value': 'JTdCJTIydXNlcklkJTIyOiUyMjZlNWM0MDZlLTE1OTUtNGE2Mi05NWRjLThmMjY5ZDllMTYwYSUyMiwlMjJkZXZpY2VJZCUyMjolMjI3MDgwZDQxNC04N2MyLTRjNWQtYjk3YS02ZjE1N2ZmZWJjNzclMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4Mzg1NjIxJTdE'}, {'name': 'douyin_creator_master_performance_level', 'value': '{}'}, {'name': 'security-sdk/s_sdk_sign_data_key/token', 'value': '{\"key\":\"security-sdk/s_sdk_sign_data_key/token\",\"data\":\"{\\\\\"ts_sign\\\\\":\\\\\"#2ZSpr1ZKJDEhwxvqlDA8noHix4sx1rn85KRAOuj2lvfws9cS5r4LIS0PvbeAcAlLP2m9LmucN+m9Lb3bYVprRSoBKJmZzYr613qoB8h4J4uC1Xs+pMwF+q8Ikjv/D/Kt4YVMXkQLKyLIRQqEALMl1MLFyr8MBSYHt6k+65Vg4/64KYRH7KMRdkBaormSKXMXc2ghnyBpa79FUK2xSErFNkPaz0N17aTeREZhGWw037gqwZoEcD8z5oCbNli8Y0KLPdbqII3sYwBbwQoxaqRlr4BGjZsUb3UmRLPfKP8mXkzIet2LLCAqbdBWVOpFPtUDSQkfDsWbDQlaTDBWX/UnOxvDcrfq1Iyh4CwDgCE5+5JuSFVUTg8A+dJAcujC/UC6Tab47JyHRNSXtYWviJ5zUs1+mlHt/T8GpFA6meAmAilZsxeKt3bajGVOcth5gsViz1Er4XlXRF0WBzvc6KIB5kMa3Ce80PT+06hO4yR/TIIt8nQE60RTZAK/tcovfnxHb2kWAnL+FfGREA83YB8O1v4ZRendeukWN0X89rEsAckyrFu9bZt7FD7i7MdSyk3UOXA5pj5UTz77tI/p01N5urqO0jUtBanUg4xjGb/eQxDDokmB1+POlOO5UMOLmDe7JrxgB73JxBMM/pa53PpWCfJN8SIMQMfNqMYcvuemvOrID/16wFXpIXRf4F4xTpPRBTk2zDLaANZK7zXIT/bd6d34Sk3wvkcnQTCLuoMFCulLDaDDxBulhwD/QdgjdoaE5duVkRQ8915s2OJjEW7qLoDGvVtVY2tnDObqzKmhNHXvDl3yxlyRdIcsyBnKsXL+hu/LTRRiVX63PD2HAuh4Qzh8w9Wndf1VDQso5JYjWitsV5kDM0n95OiQLUTvCJB2z6C82m4jO3JnNaVGSErfO0/aP0/YAD1hL/J6pD9Wh2tx4DWDa/Ho+U/01XH5k/l7ypV7dmLUdbmdin6c4HleqdCWClSnfPgtUnglrT2sbApV/w5NKmuEPiwylVTsfWcjGB7mtGO2TGFpceD4BN3U25SLQSdgcsznkU91bWtUzw1tFEkQoZKfmg8o+urVxE8+ZJu9q9bCqxs+J5jUd6CJl4wQlqNN9yIjcUdaw5RbOHKZ9mgA+5HNcgaqcX0HZ6Cyu9mKpl1BNQSks9xi/DLzDdD5q5JU9TVRBFl+9iSrZ7eAxhvKeSQrngQI1lzHMW5Gc3/WWY88xlv0SZwhMjWooRyJ9fI6mcvxU10xNSqtZHcATAjrw1Yjuip6\\\\\",\\\\\"ticket\\\\\":\\\\\"YSHGAwEBBwECBEBuoXwBZwFVwKrwoFBCQQa6lFUrUQ7LpCsCQkPAk2IFM4lsF/nPOIBNKklQqK+Ua4Tix/gXuTfxhSpsgh+d4YY3rypM7ON794TrWoC29ViefPTJFGpfaht76QBS4A==\\\\\",\\\\\"client_cert\\\\\":\\\\\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIICFzCCAb6gAwIBAgIUBvEE6gh0mASp9XEhGJt3m0Hg3F4wCgYIKoZIzj0EAwIw\\\\\\\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\\\\\\\nNTYwHhcNMjYwMzEwMTEzMzA3WhcNMzYwMzEwMTkzMzA3WjAnMQswCQYDVQQGEwJD\\\\\\\\nTjEYMBYGA1UEAwwPYmRfdGlja2V0X2d1YXJkMFkwEwYHKoZIzj0CAQYIKoZIzj0D\\\\\\\\nAQcDQgAEHfp9romhovn9n3BjPfStmf517g6qWvGnBK1QrQzgS9xaORDmRcMyoCn5\\\\\\\\nHsmMHglCdCajDGkSJKqzi3RCS8odoKOBvTCBujAOBgNVHQ8BAf8EBAMCBaAwMQYD\\\\\\\\nVR0lBCowKAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUHAwQw\\\\\\\\nKQYDVR0OBCIEIE2FFJxIVTZ4Yo7udetfySiydod5BdNa9BsEEbCMR+ziMCsGA1Ud\\\\\\\\nIwQkMCKAIDKlZ+qOZEgSjcxOTUB7cxSbR21TeqTRgNd5lJd7IkeDMB0GA1UdEQQW\\\\\\\\nMBSCEmNyZWF0b3IuZG91eWluLmNvbTAKBggqhkjOPQQDAgNHADBEAiB+oo0urxKp\\\\\\\\nvmwZcyqDxBRBqyvjsory1stxYbKkEDYKsAIgKdnnf3KNP58nkIxtFabZdg1nv72v\\\\\\\\n1C8QomPBy3FdYWY=\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n\\\\\"}\",\"createTime\":1773142386967,\"expireTime\":4102444799000}'}]}, {'origin': 'https://lf-zt.douyin.com', 'localStorage': [{'name': 'security-sdk/s_sdk_cert_key', 'value': '{\"data\":\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\"}'}, {'name': 'security-sdk/s_sdk_sign_data_key/web_protect', 'value': '{\"data\":\"{\\\\\"ticket\\\\\":\\\\\"hash.PqHTVb1frBB9JY1DfpUuyJrw8/nT/HTLb27s8zPGvic=\\\\\",\\\\\"ts_sign\\\\\":\\\\\"ts.2.98c4f8ce29ec121fd45de21b1e343ec45f2087f8792ba80d398b87808ae7ebcfc4fbe87d2319cf05318624ceda14911ca406dedbebeddb2e30fce8d4fa02575d\\\\\",\\\\\"client_cert\\\\\":\\\\\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\\\\\",\\\\\"log_id\\\\\":\\\\\"20260310193304EA60F4613BBFF71EBD5B\\\\\",\\\\\"create_time\\\\\":1773142385}\"}'}, {'name': 'security-sdk/s_sdk_crypt_sdk', 'value': '{\"data\":\"{\\\\\"ec_privateKey\\\\\":\\\\\"-----BEGIN PRIVATE KEY-----\\\\\\\\r\\\\\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgALKVtFqi9XuFLRJc\\\\\\\\r\\\\\\\\nw3yBSXkJvoOVMia68I1muNY5GgmhRANCAAQGcr3/bFabfpjsku06pRW1IPeFHVF/\\\\\\\\r\\\\\\\\nQnRihiopsRryhMphO+YFW7Jb/b/B0Shl+t6RduN4OFTUH6+qU9No+MaQ\\\\\\\\r\\\\\\\\n-----END PRIVATE KEY-----\\\\\\\\r\\\\\\\\n\\\\\",\\\\\"ec_publicKey\\\\\":\\\\\"-----BEGIN PUBLIC KEY-----\\\\\\\\r\\\\\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBnK9/2xWm36Y7JLtOqUVtSD3hR1R\\\\\\\\r\\\\\\\\nf0J0YoYqKbEa8oTKYTvmBVuyW/2/wdEoZfrekXbjeDhU1B+vqlPTaPjGkA==\\\\\\\\r\\\\\\\\n-----END PUBLIC KEY-----\\\\\\\\r\\\\\\\\n\\\\\",\\\\\"ec_csr\\\\\":\\\\\"\\\\\"}\"}'}]}, {'origin': 'https://summon.bytedance.com', 'localStorage': [{'name': '10001_24_show_service_window', 'value': ''}, {'name': 'SLARDARcard_factory', 'value': 'JTdCJTIydXNlcklkJTIyOiUyMjNlZTkzMjRhLWI1YTAtNDMwNS1hMDI5LTY3OWYxYjk5OWYxNyUyMiwlMjJkZXZpY2VJZCUyMjolMjJmOWVkMmQ3NC0yNDM1LTRhZjEtYjBmZC1mNzFkZDcxOWVmMDclMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4Mzg3NTUyJTdE'}, {'name': '__tea_cache_refer_648684', 'value': '{\"refer_key\":\"\",\"refer_title\":\"/web/\",\"refer_manual_key\":\"\",\"routeChange\":false}'}, {'name': '__tea_cache_tokens_648684', 'value': '{\"web_id\":\"7615588531867797001\",\"user_unique_id\":\"7615588531867797001\",\"timestamp\":1773142387435,\"_type_\":\"default\"}'}, {'name': '__tea_cache_first_648684', 'value': '1'}, {'name': 'byted_im_tk', 'value': '{\"1773142387352599\":\"a7010c0727c6c9dba27184c8730dd347\"}'}, {'name': '__tea_cache_first_2970', 'value': '1'}, {'name': '__tea_cache_tokens_2970', 'value': '{\"web_id\":\"7615588517405935130\",\"user_unique_id\":\"7615588517405935130\",\"timestamp\":1773142387407,\"_type_\":\"default\"}'}]}]", + "domain": ".douyin.com", + "path": "/", + "expires": 1775734470.294828, + "httpOnly": false, + "secure": true, + "sameSite": "None" + } + ], + "origins": [] +} \ No newline at end of file diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/cookies/视频号_cookies.json b/03_卡木(木)/木叶_视频内容/多平台分发/cookies/视频号_cookies.json new file mode 100644 index 00000000..adbac316 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/多平台分发/cookies/视频号_cookies.json @@ -0,0 +1,163 @@ +{ + "cookies": [ + { + "name": "sessionid", + "value": "BgAAlUekVXtrtxMKBuoTfHRptlfxmDAWjCoVppaDKWcrAiVDAycStUCN%2BkcYWkC786pzHlNnmrbJG1NkDrDjw1epdXydipxraFq1fqWAOIA%3D", + "domain": "channels.weixin.qq.com", + "path": "/", + "expires": 1807693838.404647, + "httpOnly": false, + "secure": true, + "sameSite": "None" + }, + { + "name": "wxuin", + "value": "1925733981", + "domain": "channels.weixin.qq.com", + "path": "/", + "expires": 1807693838.404685, + "httpOnly": false, + "secure": true, + "sameSite": "None" + } + ], + "origins": [ + { + "origin": "https://channels.weixin.qq.com", + "localStorage": [ + { + "name": "finder_route_meta", + "value": "micro.content/post/list;index;1;1773134435681" + }, + { + "name": "__ml::page_e7b7ede3-dadd-44d8-bfee-f0467dc018c6", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"6dd2b03b-87f5-48eb-b7cd-7b848f34b4ea\",\"step\":2,\"refAccessId\":\"716a0cd8-b79e-4d09-96a5-3608ca3b56a6\",\"refPageId\":\"MicroPost\"}" + }, + { + "name": "__ml::hb_ts", + "value": "1773134395731" + }, + { + "name": "__ml::page_e6ebcfbf-55f8-459f-8cbd-e25593f752aa", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"5c9016f6-ca55-487d-bfff-e731be19c890\",\"step\":1}" + }, + { + "name": "__ml::page_5f9512e8-0a4e-41bd-9f10-c846a52f811c", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"3c75cadf-81f0-4d36-a869-53c55b7bf8bb\",\"step\":1}" + }, + { + "name": "__ml::page_d43dfe7c-183b-4b7f-9b0d-fc0037082ad2", + "value": "{\"pageId\":\"PostCreate\",\"accessId\":\"2bda158d-425c-42be-8902-b54bd90fcebc\",\"step\":1}" + }, + { + "name": "__ml::page", + "value": "[\"9fa40fc4-98eb-4d7b-8e22-1ec96a1e1712\",\"5dcbd7e6-1d0a-4fad-a073-cbe548ef78ab\",\"7b06f5f0-dbea-49f7-b8f2-584bbb5f5255\",\"e6ebcfbf-55f8-459f-8cbd-e25593f752aa\",\"99804864-a1fe-4ba0-8ae6-969f5c7ea8ec\",\"be6dc06b-00e1-4f0f-8225-da6660790adc\",\"4d9862c3-8891-459f-a432-0993148c4e48\",\"17b7c164-a20f-4a38-8811-4c4504de332f\",\"efde92e1-a447-48d3-8691-ed52d1ecf999\",\"d43dfe7c-183b-4b7f-9b0d-fc0037082ad2\",\"be10d348-b3e2-4fc6-8252-5ac529b60e61\",\"4feaceae-d5a5-44ed-9d0c-a61790d0ac88\",\"4493896b-8ace-49b1-8ec3-d33697af23a2\",\"770458db-9fff-4509-b630-d46ab45465eb\",\"66c89831-55ca-437b-a518-7a96a07c6fdc\",\"5f9512e8-0a4e-41bd-9f10-c846a52f811c\",\"e7b7ede3-dadd-44d8-bfee-f0467dc018c6\",\"bc60cd6e-0a51-4cd3-9d93-15d4a1414562\",\"83a755e9-c380-49fd-be06-2f29a20deb8d\",\"9cc52efb-076f-4482-a99e-954872e95a52\"]" + }, + { + "name": "__ml::page_4493896b-8ace-49b1-8ec3-d33697af23a2", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"c63ac4ee-58ba-495a-bc33-8b30d3d488c6\",\"step\":2,\"refAccessId\":\"c44c0221-f278-494e-95d4-2ccecf6eb900\",\"refPageId\":\"MicroPost\"}" + }, + { + "name": "__ml::page_efde92e1-a447-48d3-8691-ed52d1ecf999", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"ea094f50-eaf0-48be-8d17-03447ec3c21a\",\"step\":1}" + }, + { + "name": "__ml::page_4d9862c3-8891-459f-a432-0993148c4e48", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"5220a072-43fe-4917-9be1-3d9651c32cc8\",\"step\":1}" + }, + { + "name": "AssistantUploadedInfoStorageKey_3899420810", + "value": "[{\"fileUploadedInfoKey\":\"金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4:1773049087899:13904487:video/mp4:cf94106b56208a5f60024854fd65c749\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":0,\"reqTime\":1773134417475,\"resTime\":1773134419978,\"cost\":2503,\"success\":true},{\"index\":1,\"reqTime\":1773134417500,\"resTime\":1773134419632,\"cost\":2132,\"success\":true}],\"uuid\":\"5ead770c-fcb7-4069-bd32-cf8632fb00ce\",\"uploadTaskId\":\"CkRmMDM2NTU1NTQzMDVmYjBkZmM3YmM1MTQyMWFjMThjZTQzZWQ2MDc5N2MzNjQxOGE4MGY5MTRiNDgxNWJkMDAwMzMwYxI+NTY5YWZlMjUxMDAwNzI0OWNlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzQ4MjFiMzUxZjE1NmEyM2NlY2Mw59TQBg==\",\"uploadTaskIdTimeStamp\":1773134417433,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"7aa7d5d4489b865e3fabba21d6441651e5affa44\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"0b210f5d82059972fd1356f41ebe3bbcc0fb4afd\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDo10woW6qVWuvF2I1kB1OPp2P3icKiaZ5zdLS4iaIsaxPDSvhIfDBgB3TyQukaRq52SDcRBGorELARBE3gV4iaLdV4&findertoken=088ae1b1c30e10d4c4bfcd061800223c66696e64657275706c6f616475726c5f333839393432303831305f313737333133343432303230355f363731353536363339363131303136333839362a2030376231363265623862393934663434346134383130623433313133663761303801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3m8ZIGECqs0ey1a4K09cBLCpm4WxcwIocbCw6j4NZh9wiaZZII3O5U87cVu45stAvtAnrES61UruMwEGib3TLk2yoKEvvia6u8nU6A&uzid=7a152\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDo10woW6qVWuvF2I1kB1OPp2P3icKiaZ5zdLS4iaIsaxPDSvhIfDBgB3TyQukaRq52SDcRBGorELARBE3gV4iaLdV4&findertoken=088ae1b1c30e10d4c4bfcd061800223c66696e64657275706c6f616475726c5f333839393432303831305f313737333133343432303230355f363731353536363339363131303136333839362a2030376231363265623862393934663434346134383130623433313133663761303801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3m8ZIGECqs0ey1a4K09cBLCpm4WxcwIocbCw6j4NZh9wiaZZII3O5U87cVu45stAvtAnrES61UruMwEGib3TLk2yoKEvvia6u8nU6A&uzid=7a152\"}}}]" + }, + { + "name": "__ml::page_5dcbd7e6-1d0a-4fad-a073-cbe548ef78ab", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"35c98491-9b79-4ac5-aea8-7b009c6c73f3\",\"step\":2,\"refAccessId\":\"a66782b9-9954-46f9-b10a-a70547d5cb90\",\"refPageId\":\"PostCreate\"}" + }, + { + "name": "__ml::page_7b06f5f0-dbea-49f7-b8f2-584bbb5f5255", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"519b9718-cf53-4413-afb5-34b6170d56fe\",\"step\":1}" + }, + { + "name": "finder_ua_report_data", + "value": "{\"browser\":\"Chrome\",\"browserVersion\":\"143.0.0.0\",\"engine\":\"Webkit\",\"engineVersion\":\"537.36\",\"os\":\"Mac OS X\",\"osVersion\":\"10.15.7\",\"device\":\"desktop\",\"darkmode\":0}" + }, + { + "name": "__ml::page_be10d348-b3e2-4fc6-8252-5ac529b60e61", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"550e4b8d-a7b6-4e07-9483-478f6092cc5d\",\"step\":1}" + }, + { + "name": "__ml::page_9cc52efb-076f-4482-a99e-954872e95a52", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"8088110d-acd4-4ff9-a9bb-20c320749269\",\"step\":1}" + }, + { + "name": "__ml::page_99804864-a1fe-4ba0-8ae6-969f5c7ea8ec", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"67682578-18a2-4d06-9243-838f5310df15\",\"step\":2,\"refAccessId\":\"173adf5d-8e34-4ba6-a8ba-4f4ede0d98c5\",\"refPageId\":\"MicroPost\"}" + }, + { + "name": "__ml::page_bc60cd6e-0a51-4cd3-9d93-15d4a1414562", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"8950bd30-9573-4ace-955f-aef4834f5d48\",\"step\":2,\"refAccessId\":\"0d5130ac-b06b-48bb-92ad-9ded3632fd27\",\"refPageId\":\"PostCreate\"}" + }, + { + "name": "__ml::page_66c89831-55ca-437b-a518-7a96a07c6fdc", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"51c9dcd4-561d-4151-b148-03b62c02a870\",\"step\":1}" + }, + { + "name": "__ml::aid", + "value": "\"bd71a1bd-04de-40a0-9f51-bbb8a5742f95\"" + }, + { + "name": "__rx::aid", + "value": "\"bd71a1bd-04de-40a0-9f51-bbb8a5742f95\"" + }, + { + "name": "finder_login_token", + "value": "" + }, + { + "name": "__ml::page_9fa40fc4-98eb-4d7b-8e22-1ec96a1e1712", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"7507f92b-ea29-4278-b825-7a15bb166c07\",\"step\":2,\"refAccessId\":\"4dfed0e6-3b01-4104-bf31-31fe396e7c90\",\"refPageId\":\"MicroPost\"}" + }, + { + "name": "__ml::page_be6dc06b-00e1-4f0f-8225-da6660790adc", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"5951b6d4-0b5b-4e8a-97fe-fb6f2e279eda\",\"step\":2,\"refAccessId\":\"e8c08c35-6dab-4f95-b5c9-3630440cb41a\",\"refPageId\":\"PostCreate\"}" + }, + { + "name": "__ml::page_17b7c164-a20f-4a38-8811-4c4504de332f", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"c05f2163-1df4-46cb-ade2-e1c8e55e3510\",\"step\":1}" + }, + { + "name": "finder_username", + "value": "v2_060000231003b20faec8c5e48919cbd5cb05e53db077dd1924028a806c10cffd891eb5a80ce7@finder" + }, + { + "name": "_finger_print_device_id", + "value": "6fd704941768442b12a996d2652fc61e" + }, + { + "name": "MICRO_VISITED_NAME", + "value": "{\"content\":15}" + }, + { + "name": "__ml::page_4feaceae-d5a5-44ed-9d0c-a61790d0ac88", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"483570fa-e6a0-4ffb-9346-9b5f2f8381f4\",\"step\":1}" + }, + { + "name": "UvFirstReportLocalKey", + "value": "1773072000000" + }, + { + "name": "__ml::page_83a755e9-c380-49fd-be06-2f29a20deb8d", + "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"44db79de-9a51-457c-956a-06eeab7d8ebd\",\"step\":1}" + }, + { + "name": "__ml::page_770458db-9fff-4509-b630-d46ab45465eb", + "value": "{\"pageId\":\"PostList\",\"accessId\":\"6e166aa7-4132-4d21-a03c-215fb557eab5\",\"step\":2,\"refAccessId\":\"2225f708-4e6b-4aef-a741-c2950fd397dc\",\"refPageId\":\"PostCreate\"}" + }, + { + "name": "finder_uin", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/content_filter.py b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/content_filter.py new file mode 100644 index 00000000..e79f5e0d --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/content_filter.py @@ -0,0 +1,422 @@ +# -*- coding: utf-8 -*- +""" +多平台视频发布 - 违禁词/敏感词过滤模块 + +用于抖音、视频号、快手、B站、小红书等平台的内容合规过滤。 +支持分类违禁词库、安全替换、平台差异化策略。 +""" + +from __future__ import annotations + +import re +from enum import Enum +from typing import Callable + +# ============================================================================= +# 违禁词分类枚举 +# ============================================================================= + + +class Category(str, Enum): + """违禁词分类""" + + POLITICAL = "政治敏感词" + FINANCIAL = "金融违禁词" + MEDICAL = "医疗违禁词" + EXAGGERATION = "夸大宣传词" + TRAFFIC = "引流违禁词" + VULGAR = "低俗敏感词" + PLATFORM = "平台规避词" + + +# ============================================================================= +# 违禁词库(分类存储) +# ============================================================================= + +BANNED_WORDS: dict[Category, list[str]] = { + Category.POLITICAL: [ + "六四", "天安门", "法轮功", "台独", "藏独", "疆独", "反华", "反共", + "颠覆", "暴动", "分裂", "邪教", "敏感人物", "敏感事件", + ], + Category.FINANCIAL: [ + "赚钱", "暴利", "暴富", "躺赚", "轻松月入", "稳赚", "零风险", "保本", + "年化收益", "高回报", "日入过万", "月入过万", "一夜暴富", "财富自由", + "割韭菜", "套利", "内幕", "炒股", "荐股", "代客理财", "保底收益", + "无风险", "稳赚不赔", "必涨", "稳赚", "躺赢", "薅羊毛", "返利", + "月入X万", "日入X万", "躺着赚钱", "睡后收入", "财务自由捷径", + ], + Category.MEDICAL: [ + "根治", "特效", "祖传秘方", "包治", "药到病除", "偏方", "神药", + "抗癌", "防癌", "治愈", "疗效显著", "立竿见影", "一吃就灵", + "纯天然无副作用", "绝对安全", "百试百灵", "国家级秘方", + ], + Category.EXAGGERATION: [ + "全网最", "史上最", "世界第一", "中国第一", "行业第一", "第一", + "最好", "最强", "最大", "最高", "绝对", "100%", "百分百", + "顶级", "极致", "无敌", "碾压", "吊打", "秒杀", "最强没有之一", + "全网独家", "独家秘方", "绝无仅有", "唯一", "必备", "必买", + ], + Category.TRAFFIC: [ + "加微信", "加我微信", "私聊", "私信", "点击链接", "扫码", "关注领取", + "加QQ", "加群", "进群", "添加客服", "添加助理", "V我", "私我", + "评论区扣1", "主页有", "主页领取", "链接在简介", "评论区置顶", + "扫码进群", "微信同号", "联系方式", "留联系方式", "导流", + ], + Category.VULGAR: [ + "约炮", "约P", "约pao", "色情", "裸", "性", "激情", "一夜情", + "大胸", "爆乳", "嫩模", "外围", "包养", "卖淫", "嫖娼", + ], + Category.PLATFORM: [ + "ICU", "赌", "彩票", "博彩", "棋牌", "赌博", "六合彩", "时时彩", + "老虎机", "百家乐", "德州扑克", "红包群", "赌博群", "外挂", + ], +} + +# ============================================================================= +# 替换映射表(违禁词 -> 安全替代词) +# 注意:长词条优先匹配,顺序会影响替换结果 +# ============================================================================= + +REPLACEMENT_MAP: dict[str, str] = { + # 金融类 + "躺着赚钱": "被动获得收益", + "躺赢": "稳健收益", + "躺赚": "被动收入", + "一夜暴富": "快速积累", + "暴富": "财务自由", + "暴利": "高毛利", + "割韭菜": "收割用户", + "赚钱": "获得收益", + "稳赚不赔": "稳健回报", + "稳赚": "稳定收益", + "零风险": "低风险", + "无风险": "可控风险", + "保本": "本金保障型", + "年化收益": "年化回报", + "高回报": "良好回报", + "日入过万": "日营收过万", + "月入过万": "月营收过万", + "轻松月入": "月度营收", + "日入X万": "日营收可观", + "月入X万": "月营收可观", + "睡后收入": "被动收入", + "财富自由捷径": "财务规划路径", + "套利": "价差策略", + "退税": "税务优化", + "薅羊毛": "权益获取", + "返利": "返佣", + "代客理财": "资产管理服务", + "荐股": "投资建议", + "炒股": "证券投资", + "内幕": "深度信息", + "保底收益": "预期收益", + "必涨": "看涨预期", + # 医疗类 + "根治": "显著改善", + "特效": "显著效果", + "祖传秘方": "传统配方", + "包治": "针对改善", + "药到病除": "效果明显", + "偏方": "民间方法", + "神药": "高效产品", + "抗癌": "辅助调理", + "防癌": "健康维护", + "治愈": "改善", + "疗效显著": "效果较好", + "立竿见影": "见效较快", + "一吃就灵": "使用有效", + "纯天然无副作用": "天然成分", + "国家级秘方": "专业配方", + "百试百灵": "口碑较好", + "绝对安全": "相对安全", + # 夸大类 + "全网最": "非常", + "史上最": "极为", + "世界第一": "行业领先", + "中国第一": "国内领先", + "行业第一": "业内领先", + "最好": "很好", + "最强": "很强", + "最大": "很大", + "最高": "很高", + "绝对": "非常", + "100%": "高比例", + "百分百": "高比例", + "顶级": "高端", + "极致": "出色", + "无敌": "出众", + "碾压": "优于", + "吊打": "远超", + "秒杀": "超值", + "最强没有之一": "非常强", + "全网独家": "特色", + "独家秘方": "独特配方", + "绝无仅有": "少有", + "唯一": "优选", + "必备": "推荐", + "必买": "值得入手", + # 引流类 + "加微信": "通过平台联系", + "加我微信": "平台内沟通", + "私聊": "私信沟通", + "私信": "消息沟通", + "点击链接": "查看详情", + "扫码": "扫码查看", + "关注领取": "关注后获取", + "加QQ": "平台联系", + "加群": "加入社群", + "进群": "加入社群", + "添加客服": "联系客服", + "添加助理": "联系助理", + "V我": "联系我", + "私我": "私信我", + "评论区扣1": "评论区互动", + "主页有": "主页可见", + "主页领取": "主页获取", + "链接在简介": "详见简介", + "评论区置顶": "置顶说明", + "扫码进群": "扫码加入", + "微信同号": "平台联系", + "联系方式": "联系通道", + "留联系方式": "留联系方式", + "导流": "引导关注", + # 平台规避 + "ICU": "重症监护", + "赌": "博弈", + "彩票": "彩券", + "博彩": "竞猜", + "棋牌": "棋类游戏", + "赌博": "竞猜类", + "六合彩": "彩券", + "时时彩": "彩券", + "老虎机": "游戏机", + "百家乐": "纸牌游戏", + "德州扑克": "扑克游戏", + "红包群": "福利群", + "赌博群": "兴趣群", + # 工具/业务类 + "外挂": "辅助工具", +} + +# 仅在 strict 模式下替换的词(变现、私域等常用词在宽松模式下保留) +STRICT_ONLY_REPLACEMENTS: dict[str, str] = { + "变现": "商业转化", + "私域": "用户池", +} + +# ============================================================================= +# 平台严格度配置 +# ============================================================================= + +PlatformStrictness = { + "抖音": "strict", + "douyin": "strict", + "视频号": "medium", + "channels": "medium", + "快手": "medium", + "kuaishou": "medium", + "B站": "relaxed", + "bilibili": "relaxed", + "哔哩哔哩": "relaxed", + "小红书": "strict", + "xiaohongshu": "strict", +} + +# ============================================================================= +# 数据结构 +# ============================================================================= + + +# ============================================================================= +# 核心函数 +# ============================================================================= + + +def _build_patterns(strict: bool = False) -> list[tuple[str, str, str]]: + """ + 构建 (原词, 替换词, 分类) 的匹配元组列表。 + 按词长度降序,保证长词优先匹配。 + strict=True 时额外纳入 STRICT_ONLY_REPLACEMENTS(如 变现、私域)。 + """ + items: list[tuple[str, str, str]] = [] + for cat, words in BANNED_WORDS.items(): + for w in words: + rep = REPLACEMENT_MAP.get(w) + if not rep and strict: + rep = STRICT_ONLY_REPLACEMENTS.get(w) + if rep: + items.append((w, rep, cat.value)) + + if strict: + for w, rep in STRICT_ONLY_REPLACEMENTS.items(): + if w not in {x[0] for x in items}: + items.append((w, rep, "金融违禁词")) + + # 去重并按长度降序 + seen: set[str] = set() + unique: list[tuple[str, str, str]] = [] + for w, rep, cat in items: + if w not in seen: + seen.add(w) + unique.append((w, rep, cat)) + + unique.sort(key=lambda x: -len(x[0])) + return unique + + +def _escape_regex(s: str) -> str: + """转义正则特殊字符""" + return re.escape(s) + + +def filter_text(text: str, strict: bool = False) -> tuple[str, list[str]]: + """ + 过滤文本中的违禁词,替换为安全词。 + + Args: + text: 待过滤文本 + strict: 若为 True,启用更严格的过滤(包括 变现、私域 等) + + Returns: + (过滤后文本, 替换记录列表) + """ + if not text or not isinstance(text, str): + return text or "", [] + + replacements_made: list[str] = [] + result = text + patterns = _build_patterns(strict) + + for word, replacement, _ in patterns: + pattern = re.compile(_escape_regex(word), re.IGNORECASE) + for m in pattern.finditer(result): + old_slice = result[m.start() : m.end()] + # 仅当实际替换发生且与原文不同时记录 + if old_slice != replacement: + replacements_made.append(f"{old_slice} → {replacement}") + result = pattern.sub(replacement, result) + + return result, replacements_made + + +def check_text(text: str) -> list[dict]: + """ + 检测文本中的违禁词,返回详情列表(不替换)。 + + Returns: + [{"word": str, "start": int, "end": int, "category": str, "replacement": str}, ...] + """ + if not text or not isinstance(text, str): + return [] + + findings: list[dict] = [] + patterns = _build_patterns(strict=True) # 用完整映射做检测 + + for word, replacement, category in patterns: + pattern = re.compile(_escape_regex(word), re.IGNORECASE) + for m in pattern.finditer(text): + findings.append( + { + "word": m.group(), + "start": m.start(), + "end": m.end(), + "category": category, + "replacement": replacement, + } + ) + + # 按 start 排序 + findings.sort(key=lambda x: x["start"]) + return findings + + +def get_platform_filter(platform: str) -> Callable[[str], tuple[str, list[str]]]: + """ + 根据平台返回对应的过滤函数。 + + Args: + platform: 平台名,如 抖音、视频号、快手、B站、小红书 + + Returns: + 接受 (text: str) 的过滤函数,返回 (filtered_text, replacements) + """ + level = PlatformStrictness.get(platform, PlatformStrictness.get(platform.lower(), "medium")) + strict = level == "strict" + + def _filter(t: str) -> tuple[str, list[str]]: + return filter_text(t, strict=strict) + + return _filter + + +def filter_for_platform(text: str, platform: str) -> str: + """ + 按平台规则过滤文本(仅返回过滤后的文本)。 + + Args: + text: 待过滤文本 + platform: 平台名 + + Returns: + 过滤后的文本 + """ + try: + filt = get_platform_filter(platform) + filtered, _ = filt(text) + return filtered + except Exception: + return text + + +# ============================================================================= +# 主程序:演示与测试 +# ============================================================================= + +if __name__ == "__main__": + DEMO_TEXTS = [ + "信任不是求来的,发三个月邮件拿下德国总代理 #销售思维", + "ICU出来一年多,活着就要在互联网上留下东西", + "后端花170万搭体系,前端几十块就能参与", + "懒人也能赚钱?动作简单、有利可图、正反馈", + ] + + print("=" * 60) + print("内容过滤模块 - 测试") + print("=" * 60) + + for i, raw in enumerate(DEMO_TEXTS, 1): + print(f"\n【原文 {i}】") + print(f" {raw}") + + # check_text + issues = check_text(raw) + if issues: + print(f" 检测到 {len(issues)} 处违禁/敏感词:") + for it in issues: + print(f" - [{it['category']}] 「{it['word']}」 → {it['replacement']} (位置 {it['start']}-{it['end']})") + else: + print(" 未检测到违禁词") + + # filter_text (非严格) + filtered, reps = filter_text(raw, strict=False) + print(f"\n【过滤后(非严格)】") + print(f" {filtered}") + if reps: + print(f" 替换记录: {reps}") + + # filter_text (严格) + filtered_strict, reps_strict = filter_text(raw, strict=True) + if filtered_strict != filtered or reps_strict != reps: + print(f"\n【过滤后(严格)】") + print(f" {filtered_strict}") + if reps_strict: + print(f" 替换记录: {reps_strict}") + + # 平台级过滤演示 + print("\n" + "=" * 60) + print("平台级过滤演示(以「懒人也能赚钱?」为例)") + print("=" * 60) + sample = "懒人也能赚钱?动作简单、有利可图、正反馈" + for platform in ["抖音", "视频号", "B站"]: + out = filter_for_platform(sample, platform) + print(f" {platform}: {out}") diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/cookie_manager.py b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/cookie_manager.py index 7c66915d..d80f5efa 100644 --- a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/cookie_manager.py +++ b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/cookie_manager.py @@ -1,202 +1,252 @@ #!/usr/bin/env python3 """ 多平台 Cookie 统一管理器 -- 加载 Playwright storage_state.json -- 检查 Cookie 有效期 -- 提供 cookie_str / headers -- 防止重复获取 Cookie +- 中央存储:多平台分发/cookies/{platform}_cookies.json +- Playwright storage_state 格式:{"cookies": [...], "origins": [...]} +- 支持视频号 auth API 校验,其它平台预留 stub +- 视频号保存时同步至 channels_storage_state.json 以兼容旧脚本 """ import json import time from pathlib import Path from datetime import datetime +from typing import Any + +import httpx -class CookieManager: - """统一管理各平台的 storage_state.json""" +# 常量 +COOKIE_STORE_DIR = Path(__file__).parent.parent / "cookies" +CHANNELS_LEGACY_PATH = Path(__file__).parent.parent.parent / "视频号发布" / "脚本" / "channels_storage_state.json" - def __init__(self, state_path: Path, domain_filter: str = ""): - self.state_path = Path(state_path) - self.domain_filter = domain_filter - self._state = {} - self._cookies = {} - self._load() +SUPPORTED_PLATFORMS = ["视频号", "抖音", "快手", "B站", "小红书"] - def _load(self): - if not self.state_path.exists(): - raise FileNotFoundError(f"Cookie 文件不存在: {self.state_path}") - with open(self.state_path, "r", encoding="utf-8") as f: - self._state = json.load(f) - self._cookies = self._extract_cookies() +# 各平台默认 cookie 域名 +PLATFORM_DOMAINS = { + "视频号": "channels.weixin.qq.com", + "抖音": ".douyin.com", + "快手": ".kuaishou.com", + "B站": ".bilibili.com", + "小红书": ".xiaohongshu.com", +} - def _extract_cookies(self) -> dict: - result = {} - for c in self._state.get("cookies", []): - domain = c.get("domain", "") - if self.domain_filter and self.domain_filter not in domain: - continue - result[c["name"]] = { - "value": c["value"], - "domain": domain, - "expires": c.get("expires", -1), - "path": c.get("path", "/"), - } - return result - - @property - def cookie_str(self) -> str: - return "; ".join(f"{k}={v['value']}" for k, v in self._cookies.items()) - - @property - def cookie_dict(self) -> dict: - return {k: v["value"] for k, v in self._cookies.items()} - - def get(self, name: str, default: str = "") -> str: - info = self._cookies.get(name) - return info["value"] if info else default - - def get_local_storage(self, origin_filter: str, key: str) -> str: - for origin in self._state.get("origins", []): - if origin_filter not in origin.get("origin", ""): - continue - for item in origin.get("localStorage", []): - if item["name"] == key: - return item["value"] - return "" - - # 各平台核心 session cookie(只检查这些的有效期,忽略短期追踪 cookie) - SESSION_COOKIES = { - "bilibili.com": ["SESSDATA", "bili_jct", "DedeUserID"], - "douyin.com": ["sessionid", "passport_csrf_token", "sid_guard"], - "weixin.qq.com": ["wedrive_session_id", "sess_key"], - "xiaohongshu.com": ["web_session", "a1", "webId"], - "kuaishou.com": ["kuaishou.server.web_st", "kuaishou.server.web_ph", "userId"], - } - - def check_expiry(self) -> dict: - """检查 Cookie 有效期(只看核心 session cookie,忽略短期追踪 cookie)""" - now = time.time() - - session_names = set() - for domain_key, names in self.SESSION_COOKIES.items(): - if self.domain_filter and domain_key in self.domain_filter: - session_names.update(names) - elif not self.domain_filter: - session_names.update(names) - - max_session_expires = 0 - has_session_cookie = False - long_lived_expires = float("inf") - - for name, info in self._cookies.items(): - exp = info.get("expires", -1) - if name in session_names: - has_session_cookie = True - if exp > 0 and exp > max_session_expires: - max_session_expires = exp - elif exp > 0 and (exp - now) > 3600: - if exp < long_lived_expires: - long_lived_expires = exp - - if has_session_cookie and max_session_expires > 0: - best_exp = max_session_expires - elif has_session_cookie: - return { - "status": "ok", - "message": "Session cookie 存在(无明确过期时间)", - "remaining_hours": -1, - } - elif long_lived_expires < float("inf"): - best_exp = long_lived_expires - else: - all_expires = [ - info["expires"] for info in self._cookies.values() - if info.get("expires", -1) > now - ] - if all_expires: - best_exp = max(all_expires) - elif any(info.get("expires", -1) <= 0 for info in self._cookies.values()): - return { - "status": "ok", - "message": "Cookie 存在(session 类型,无明确过期时间)", - "remaining_hours": -1, - } - else: - return { - "status": "expired", - "message": "Cookie 全部已过期", - } - - remaining = (best_exp - now) / 3600 - expires_at = datetime.fromtimestamp(best_exp).strftime("%Y-%m-%d %H:%M") - if remaining < 0: - status = "expired" - elif remaining < 1: - status = "expiring_soon" - elif remaining < 24: - status = "warning" - else: - status = "ok" - - return { - "status": status, - "expires_at": expires_at, - "remaining_hours": round(remaining, 1), - "message": f"Cookie 有效至 {expires_at}(剩余 {remaining:.1f}h)", - } - - def is_valid(self) -> bool: - info = self.check_expiry() - return info["status"] != "expired" - - @property - def file_age_hours(self) -> float: - if not self.state_path.exists(): - return float("inf") - mtime = self.state_path.stat().st_mtime - return (time.time() - mtime) / 3600 - - def summary(self) -> str: - expiry = self.check_expiry() - age = self.file_age_hours - lines = [ - f"Cookie 文件: {self.state_path.name}", - f"Cookie 数量: {len(self._cookies)}", - f"文件年龄: {age:.1f}h", - f"状态: {expiry['message']}", - ] - return "\n".join(lines) +UA = ( + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" +) -def check_all_cookies(base_dir: Path) -> dict: - """检查所有平台的 Cookie 状态""" - platforms = { - "抖音": ("抖音发布/脚本/douyin_storage_state.json", "douyin.com"), - "B站": ("B站发布/脚本/bilibili_storage_state.json", "bilibili.com"), - "视频号": ("视频号发布/脚本/channels_storage_state.json", "weixin.qq.com"), - "小红书": ("小红书发布/脚本/xiaohongshu_storage_state.json", "xiaohongshu.com"), - "快手": ("快手发布/脚本/kuaishou_storage_state.json", "kuaishou.com"), - } - results = {} - for name, (rel_path, domain) in platforms.items(): - path = base_dir / rel_path +def _ensure_cookie_dir() -> None: + """确保 cookie 存储目录存在""" + COOKIE_STORE_DIR.mkdir(parents=True, exist_ok=True) + + +def get_cookie_path(platform: str) -> Path: + """返回平台对应的 cookie 文件路径""" + _ensure_cookie_dir() + return COOKIE_STORE_DIR / f"{platform}_cookies.json" + + +def _dict_to_storage_cookies(cookies: dict, domain: str) -> list[dict]: + """将 {name: value} 转为 storage_state 的 cookies 数组""" + now = time.time() + result = [] + for name, value in cookies.items(): + result.append({ + "name": name, + "value": str(value), + "domain": domain, + "path": "/", + "expires": now + 86400 * 30, # 默认 30 天 + "httpOnly": False, + "secure": True, + "sameSite": "None", + }) + return result + + +def load_cookies(platform: str) -> dict[str, str] | None: + """ + 从文件加载 cookies,返回 {name: value},文件不存在或解析失败返回 None。 + 视频号:若中央存储不存在但旧路径 channels_storage_state.json 存在,自动迁移并加载。 + """ + path = get_cookie_path(platform) + if not path.exists(): + # 视频号:尝试从旧路径迁移 + if platform == "视频号" and CHANNELS_LEGACY_PATH.exists(): + try: + with open(CHANNELS_LEGACY_PATH, "r", encoding="utf-8") as f: + data = json.load(f) + _ensure_cookie_dir() + with open(path, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=2) + except (json.JSONDecodeError, OSError): + pass if not path.exists(): - results[name] = {"status": "missing", "message": "未登录"} + return None + try: + with open(path, "r", encoding="utf-8") as f: + data = json.load(f) + cookies = data.get("cookies", []) + return {c["name"]: c["value"] for c in cookies if isinstance(c.get("name"), str)} + except (json.JSONDecodeError, KeyError, TypeError) as e: + # 静默失败,返回 None + return None + + +def save_cookies( + platform: str, + cookies: dict[str, str], + extra_data: dict[str, Any] | None = None, +) -> None: + """ + 保存 cookies 为 Playwright storage_state 格式。 + cookies: {name: value} + extra_data: 可选,如 {"origins": [...]} 以保留 localStorage 等 + """ + _ensure_cookie_dir() + path = get_cookie_path(platform) + domain = PLATFORM_DOMAINS.get(platform, ".example.com") + storage_cookies = _dict_to_storage_cookies(cookies, domain) + data: dict[str, Any] = {"cookies": storage_cookies, "origins": []} + if extra_data: + if "origins" in extra_data: + data["origins"] = extra_data["origins"] + if "cookies" in extra_data: + # 若 extra 中有完整 cookies 对象,可覆盖 + data["cookies"] = extra_data["cookies"] + with open(path, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=2) + + # 视频号:同步到旧路径以兼容 channels_publish 等脚本 + if platform == "视频号": + try: + CHANNELS_LEGACY_PATH.parent.mkdir(parents=True, exist_ok=True) + with open(CHANNELS_LEGACY_PATH, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=2) + except OSError: + pass + + +def _check_video_account_valid(cookies: dict[str, str]) -> tuple[bool, str]: + """视频号:POST auth/auth_data 校验,errCode==0 为有效""" + url = "https://channels.weixin.qq.com/cgi-bin/mmfinderassistant-bin/auth/auth_data" + cookie_str = "; ".join(f"{k}={v}" for k, v in cookies.items()) + headers = { + "User-Agent": UA, + "Referer": "https://channels.weixin.qq.com/", + "Cookie": cookie_str, + "Content-Type": "application/json", + } + try: + with httpx.Client(timeout=15.0) as client: + r = client.post(url, headers=headers, json={}) + r.raise_for_status() + body = r.json() + except httpx.HTTPError as e: + return False, f"请求失败: {e}" + except json.JSONDecodeError as e: + return False, f"响应解析失败: {e}" + + err = body.get("errCode", -1) + if err != 0: + msg = body.get("errMsg", "未知错误") + return False, f"接口返回 errCode={err}, {msg}" + + # 提取昵称 + data = body.get("data") or body + nickname = "" + if isinstance(data, dict): + nickname = data.get("nickname") or data.get("nickName") or "" + if nickname: + return True, f"有效 (昵称: {nickname})" + return True, "有效" + + +def _check_platform_stub(platform: str, cookies: dict[str, str]) -> tuple[bool, str]: + """抖音、B站、快手、小红书:暂为 stub,仅检查文件存在和基本结构""" + if not cookies: + return False, "无 cookie 数据" + # 简单启发:有常见 session 字段则视为可能有效 + session_keys = { + "抖音": ["sessionid"], + "B站": ["SESSDATA", "bili_jct"], + "快手": ["kuaishou.server.web_st", "userId"], + "小红书": ["web_session", "a1"], + } + keys = session_keys.get(platform, []) + found = any(k in cookies for k in keys) + if found: + return True, "存在(未做接口校验,仅供参考)" + return True, "存在(未做接口校验)" + + +def check_cookie_valid(platform: str) -> tuple[bool, str]: + """ + 校验平台 cookie 是否有效,调用平台特定 auth API。 + 返回 (is_valid, message)。 + """ + cookies = load_cookies(platform) + if not cookies: + return False, "文件不存在或为空" + + if platform == "视频号": + return _check_video_account_valid(cookies) + + if platform in ("抖音", "B站", "快手", "小红书"): + return _check_platform_stub(platform, cookies) + + return False, f"不支持的平台: {platform}" + + +def get_valid_cookies(platform: str) -> dict[str, str] | None: + """加载并校验 cookies,若过期或无效返回 None""" + is_valid, _ = check_cookie_valid(platform) + if not is_valid: + return None + return load_cookies(platform) + + +def _format_expiry(cookies_raw: list[dict]) -> str: + """从 storage_state 的 cookies 中提取最近过期时间""" + now = time.time() + expiries = [c.get("expires", 0) for c in cookies_raw if isinstance(c.get("expires"), (int, float))] + if not expiries: + return "未知" + max_exp = max(e for e in expiries if e > 0) if any(e > 0 for e in expiries) else 0 + if max_exp <= 0: + return "Session" + remaining = (max_exp - now) / 3600 + if remaining < 0: + return "已过期" + if remaining < 24: + return f"{remaining:.1f}h" + return f"{remaining / 24:.1f}天" + + +def cookie_summary() -> str: + """返回各平台 cookie 状态摘要(存在/有效/过期)""" + lines = ["=" * 50, " 多平台 Cookie 状态", "=" * 50, f"存储目录: {COOKIE_STORE_DIR}", ""] + for platform in SUPPORTED_PLATFORMS: + # 用 load_cookies 触发迁移(视频号从旧路径) + cookies_dict = load_cookies(platform) + if not cookies_dict: + lines.append(f" [○] {platform}: 未登录") continue try: - mgr = CookieManager(path, domain) - results[name] = mgr.check_expiry() + path = get_cookie_path(platform) + with open(path, "r", encoding="utf-8") as f: + data = json.load(f) + cookies_arr = data.get("cookies", []) + expiry = _format_expiry(cookies_arr) + is_valid, msg = check_cookie_valid(platform) + icon = "✓" if is_valid else "✗" + lines.append(f" [{icon}] {platform}: {msg} | 过期: {expiry}") except Exception as e: - results[name] = {"status": "error", "message": str(e)} - return results + lines.append(f" [✗] {platform}: 解析失败 - {e}") + return "\n".join(lines) if __name__ == "__main__": - base = Path(__file__).parent.parent.parent - print("=" * 50) - print(" 多平台 Cookie 状态检查") - print("=" * 50) - results = check_all_cookies(base) - for platform, info in results.items(): - icon = {"ok": "✓", "warning": "⚠", "expiring_soon": "⚠", "expired": "✗", "missing": "○", "error": "✗"} - print(f" [{icon.get(info['status'], '?')}] {platform}: {info['message']}") + _ensure_cookie_dir() + print(cookie_summary()) diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json index 8821e9a6..a5a3cd29 100644 --- a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json +++ b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json @@ -17,21 +17,6 @@ {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", "success": false, "status": "error", "message": "[Errno 32] Broken pipe", "elapsed_sec": 0.0, "timestamp": "2026-03-10 15:02:08"} {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花170万搭体系,前端几十块就能参与 #商业认知 #体系思维", "success": false, "status": "error", "message": "[Errno 32] Broken pipe", "elapsed_sec": 0.0, "timestamp": "2026-03-10 15:02:11"} {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀12年,前端就丢个手机号 #AI获客 #系统思维", "success": false, "status": "error", "message": "[Errno 32] Broken pipe", "elapsed_sec": 0.0, "timestamp": "2026-03-10 15:02:14"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多了。那之后我想明白一件事:活着,就要在互联网上留下点东西 #人生感悟 #创业觉醒 #Soul派对 #向死而生", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 1.2313990592956543, "timestamp": "2026-03-10 15:15:29"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4", "title": "20岁测MBTI,40岁以后该学五行八卦了。年轻人用性格分类,中年人靠命理运营自己 #MBTI #五行 #Soul派对 #认知觉醒", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.14910316467285156, "timestamp": "2026-03-10 15:15:32"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul业务模型 派对+切片+小程序全链路.mp4", "title": "一个人怎么跑通一条商业链路?派对获客→AI切片→小程序变现,全链路拆给你看 #Soul派对 #商业模式 #全链路 #一人公司", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.762732982635498, "timestamp": "2026-03-10 15:15:36"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4", "title": "AI剪辑有多快?30秒到8分钟的切片,半小时出10到30条。内容工厂的效率密码 #AI剪辑 #Soul派对 #内容效率 #批量生产", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.9359581470489502, "timestamp": "2026-03-10 15:15:40"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4", "title": "创业初期别急着找钱,先找两个IS型人格。ENFJ负责链接,ENTJ负责指挥,比融资好使十倍 #MBTI创业 #团队搭建 #Soul派对 #合伙人", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 2.2842659950256348, "timestamp": "2026-03-10 15:15:45"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/刷牙听业务逻辑 Soul切片变现怎么跑.mp4", "title": "刷牙3分钟,刚好听完一套变现逻辑。Soul切片怎么从0到日产30条?碎片时间才是生产力 #Soul派对 #碎片创业 #副业逻辑 #效率", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 1.0495867729187012, "timestamp": "2026-03-10 15:15:49"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/国学易经怎么学 两小时七七八八,召唤作者对话.mp4", "title": "易经其实不难,两小时就能学个七七八八。关键是找到作者的思维频率,跟古人对话 #国学 #易经入门 #Soul派对 #终身学习", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.7680740356445312, "timestamp": "2026-03-10 15:15:53"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/广点通能投Soul了,1000曝光6到10块.mp4", "title": "广点通终于能投Soul了!1000次曝光只要6到10块,这个获客成本你敢信?#Soul派对 #广点通投放 #低成本获客 #流量红利", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.13916993141174316, "timestamp": "2026-03-10 15:15:56"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/建立信任不是求来的 卖外挂发邮件三个月拿下德国总代.mp4", "title": "信任不是求来的。一个卖外挂的小伙子,发了三个月邮件,拿下德国总代理。死磕比社交有用 #销售思维 #信任建立 #Soul派对 #死磕精神", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.8055217266082764, "timestamp": "2026-03-10 15:16:00"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/懒人的活法 动作简单有利可图正反馈.mp4", "title": "懒人也能赚钱?关键就三个词:动作简单、有利可图、正反馈。90%的人输在太勤快了 #Soul派对 #副业思维 #私域变现 #认知升级", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 1.6628410816192627, "timestamp": "2026-03-10 15:16:04"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/早起不是为了开派对,是不吵老婆睡觉.mp4", "title": "每天6点起床不是因为自律,是因为老婆还在睡。创业人最真实的起床理由,你猜到了吗?#Soul派对 #创业日记 #晨间直播 #真实创业", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.5040900707244873, "timestamp": "2026-03-10 15:16:08"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/核心就两个字 筛选。能开派对坚持7天的人再谈.mp4", "title": "别跟所有人合作,核心就两个字:筛选。能坚持开7天派对的人,才值得深聊 #筛选思维 #Soul派对 #创业认知 #人性", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.3050050735473633, "timestamp": "2026-03-10 15:16:11"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是因为太累,是因为脑子里装太多。每天放下一件事,做减法,睡眠自然好 #睡眠 #做减法 #Soul派对 #心理健康", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.4433469772338867, "timestamp": "2026-03-10 15:16:15"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花了170万搭的体系,前端几十块就能参与。真正的商业模式是让别人低成本上车 #商业认知 #Soul派对 #低门槛创业 #体系思维", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.5846946239471436, "timestamp": "2026-03-10 15:16:18"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀了12年,前端操作就是丢个手机号。金融AI获客体系,把复杂留给自己 #AI获客 #金融科技 #Soul派对 #系统思维", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.187608003616333, "timestamp": "2026-03-10 15:16:21"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多,活着就要在互联网上留下东西 #人生感悟 #创业觉醒", "success": false, "status": "failed", "message": "Playwright: 未找到上传控件", "elapsed_sec": 7.210780143737793, "timestamp": "2026-03-10 15:15:40"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4", "title": "20岁测MBTI,40岁该学五行八卦了 #MBTI #认知觉醒", "success": false, "status": "failed", "message": "Playwright: 投稿超时", "screenshot": "/tmp/bilibili_result.png", "elapsed_sec": 312.01766705513, "timestamp": "2026-03-10 15:21:07"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4", "title": "AI剪辑半小时出10到30条切片,内容工厂效率密码 #AI剪辑 #内容效率", "success": true, "status": "reviewing", "message": "纯API投稿成功 (9.6s)", "elapsed_sec": 9.607962131500244, "timestamp": "2026-03-10 15:21:20"} @@ -45,9 +30,6 @@ {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", "success": true, "status": "reviewing", "message": "纯API投稿成功 (3.0s)", "elapsed_sec": 3.016058921813965, "timestamp": "2026-03-10 15:22:18"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花170万搭体系,前端几十块就能参与 #商业认知 #体系思维", "success": true, "status": "reviewing", "message": "纯API投稿成功 (6.0s)", "elapsed_sec": 5.999068021774292, "timestamp": "2026-03-10 15:22:27"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀12年,前端就丢个手机号 #AI获客 #系统思维", "success": true, "status": "reviewing", "message": "纯API投稿成功 (4.1s)", "elapsed_sec": 4.084810972213745, "timestamp": "2026-03-10 15:22:34"} -{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/广点通能投Soul了,1000曝光6到10块.mp4", "title": "广点通能投Soul了!1000次曝光只要6到10块 #广点通 #低成本获客", "success": true, "status": "reviewing", "message": "已跳转到内容管理(发表成功)", "screenshot": "/tmp/channels_result.png", "elapsed_sec": 22.535322904586792, "timestamp": "2026-03-10 15:18:30"} -{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/懒人的活法 动作简单有利可图正反馈.mp4", "title": "懒人也能赚钱?动作简单、有利可图、正反馈 #Soul派对 #副业思维", "success": true, "status": "reviewing", "message": "已跳转到内容管理(发表成功)", "screenshot": "/tmp/channels_result.png", "elapsed_sec": 19.76073694229126, "timestamp": "2026-03-10 15:19:17"} -{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", "success": true, "status": "reviewing", "message": "已跳转到内容管理(发表成功)", "screenshot": "/tmp/channels_result.png", "elapsed_sec": 20.54416298866272, "timestamp": "2026-03-10 15:20:05"} {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul业务模型 派对+切片+小程序全链路.mp4", "title": "派对获客→AI切片→小程序变现,全链路拆解 #商业模式 #一人公司", "success": true, "status": "reviewing", "message": "已提交,请确认截图", "screenshot": "/tmp/xhs_result.png", "elapsed_sec": 32.887428998947144, "timestamp": "2026-03-10 15:16:01"} {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4", "title": "AI剪辑半小时出10到30条切片,内容工厂效率密码 #AI剪辑 #内容效率", "success": true, "status": "reviewing", "message": "已提交,请确认截图", "screenshot": "/tmp/xhs_result.png", "elapsed_sec": 26.56322979927063, "timestamp": "2026-03-10 15:16:31"} {"platform": "小红书", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4", "title": "创业初期先找两个IS型人格,比融资好使十倍 #MBTI创业 #团队搭建", "success": true, "status": "reviewing", "message": "已提交,请确认截图", "screenshot": "/tmp/xhs_result.png", "elapsed_sec": 24.749696016311646, "timestamp": "2026-03-10 15:16:59"} @@ -73,23 +55,23 @@ {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", "success": true, "status": "reviewing", "message": "已提交,请确认截图", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 20.945794105529785, "timestamp": "2026-03-10 15:20:27"} {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花170万搭体系,前端几十块就能参与 #商业认知 #体系思维", "success": true, "status": "published", "message": "发布成功", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 31.37475895881653, "timestamp": "2026-03-10 15:21:02"} {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀12年,前端就丢个手机号 #AI获客 #系统思维", "success": true, "status": "published", "message": "发布成功", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 20.888609170913696, "timestamp": "2026-03-10 15:21:26"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多了。那之后我想明白一件事:活着,就要在互联网上留下点东西 #人生感悟 #创业觉醒 #Soul派对 #向死而生", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.1804661750793457, "timestamp": "2026-03-10 15:24:39"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4", "title": "20岁测MBTI,40岁以后该学五行八卦了。年轻人用性格分类,中年人靠命理运营自己 #MBTI #五行 #Soul派对 #认知觉醒", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.21412396430969238, "timestamp": "2026-03-10 15:24:43"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul业务模型 派对+切片+小程序全链路.mp4", "title": "一个人怎么跑通一条商业链路?派对获客→AI切片→小程序变现,全链路拆给你看 #Soul派对 #商业模式 #全链路 #一人公司", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.211669921875, "timestamp": "2026-03-10 15:24:46"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4", "title": "AI剪辑有多快?30秒到8分钟的切片,半小时出10到30条。内容工厂的效率密码 #AI剪辑 #Soul派对 #内容效率 #批量生产", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.3605477809906006, "timestamp": "2026-03-10 15:24:49"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4", "title": "创业初期别急着找钱,先找两个IS型人格。ENFJ负责链接,ENTJ负责指挥,比融资好使十倍 #MBTI创业 #团队搭建 #Soul派对 #合伙人", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.15439581871032715, "timestamp": "2026-03-10 15:24:52"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/刷牙听业务逻辑 Soul切片变现怎么跑.mp4", "title": "刷牙3分钟,刚好听完一套变现逻辑。Soul切片怎么从0到日产30条?碎片时间才是生产力 #Soul派对 #碎片创业 #副业逻辑 #效率", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.16161012649536133, "timestamp": "2026-03-10 15:24:56"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/国学易经怎么学 两小时七七八八,召唤作者对话.mp4", "title": "易经其实不难,两小时就能学个七七八八。关键是找到作者的思维频率,跟古人对话 #国学 #易经入门 #Soul派对 #终身学习", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.15852904319763184, "timestamp": "2026-03-10 15:24:59"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/广点通能投Soul了,1000曝光6到10块.mp4", "title": "广点通终于能投Soul了!1000次曝光只要6到10块,这个获客成本你敢信?#Soul派对 #广点通投放 #低成本获客 #流量红利", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.20926785469055176, "timestamp": "2026-03-10 15:25:02"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/建立信任不是求来的 卖外挂发邮件三个月拿下德国总代.mp4", "title": "信任不是求来的。一个卖外挂的小伙子,发了三个月邮件,拿下德国总代理。死磕比社交有用 #销售思维 #信任建立 #Soul派对 #死磕精神", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.17077183723449707, "timestamp": "2026-03-10 15:25:05"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/懒人的活法 动作简单有利可图正反馈.mp4", "title": "懒人也能赚钱?关键就三个词:动作简单、有利可图、正反馈。90%的人输在太勤快了 #Soul派对 #副业思维 #私域变现 #认知升级", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.18039608001708984, "timestamp": "2026-03-10 15:25:08"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/早起不是为了开派对,是不吵老婆睡觉.mp4", "title": "每天6点起床不是因为自律,是因为老婆还在睡。创业人最真实的起床理由,你猜到了吗?#Soul派对 #创业日记 #晨间直播 #真实创业", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.26729893684387207, "timestamp": "2026-03-10 15:25:12"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/核心就两个字 筛选。能开派对坚持7天的人再谈.mp4", "title": "别跟所有人合作,核心就两个字:筛选。能坚持开7天派对的人,才值得深聊 #筛选思维 #Soul派对 #创业认知 #人性", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.16828489303588867, "timestamp": "2026-03-10 15:25:15"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是因为太累,是因为脑子里装太多。每天放下一件事,做减法,睡眠自然好 #睡眠 #做减法 #Soul派对 #心理健康", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.1948409080505371, "timestamp": "2026-03-10 15:25:18"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花了170万搭的体系,前端几十块就能参与。真正的商业模式是让别人低成本上车 #商业认知 #Soul派对 #低门槛创业 #体系思维", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.2213449478149414, "timestamp": "2026-03-10 15:25:21"} -{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀了12年,前端操作就是丢个手机号。金融AI获客体系,把复杂留给自己 #AI获客 #金融科技 #Soul派对 #系统思维", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.15867185592651367, "timestamp": "2026-03-10 15:25:24"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多,活着就要在互联网上留下东西 #人生感悟 #创业觉醒", "success": true, "status": "reviewing", "message": "纯API投稿成功 (5.7s)", "elapsed_sec": 5.730467796325684, "timestamp": "2026-03-10 15:25:34"} {"platform": "B站", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4", "title": "20岁测MBTI,40岁该学五行八卦了 #MBTI #认知觉醒", "success": true, "status": "reviewing", "message": "纯API投稿成功 (5.3s)", "elapsed_sec": 5.3280439376831055, "timestamp": "2026-03-10 15:25:42"} {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多,活着就要在互联网上留下东西 #人生感悟 #创业觉醒", "success": true, "status": "reviewing", "message": "已提交,请确认截图", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 19.600856065750122, "timestamp": "2026-03-10 15:26:05"} {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/广点通能投Soul了,1000曝光6到10块.mp4", "title": "广点通能投Soul了!1000曝光只要6到10块 #广点通 #低成本获客", "success": true, "status": "published", "message": "发布成功", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 20.851877689361572, "timestamp": "2026-03-10 15:26:28"} {"platform": "快手", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/核心就两个字 筛选。能开派对坚持7天的人再谈.mp4", "title": "核心就两个字:筛选。能坚持7天的人才值得深聊 #筛选思维 #创业认知", "success": true, "status": "published", "message": "发布成功", "screenshot": "/tmp/kuaishou_result.png", "elapsed_sec": 18.800668001174927, "timestamp": "2026-03-10 15:26:50"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/ICU出来一年多 活着要在互联网上留下东西.mp4", "title": "ICU出来一年多,活着就要在互联网上留下东西 #人生感悟 #创业觉醒", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/ICU出来一年多 活着要在互联网上留下东西_5_verify.png", "elapsed_sec": 31.226758003234863, "timestamp": "2026-03-10 18:11:45"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4", "title": "20岁测MBTI,40岁该学五行八卦了 #MBTI #认知觉醒", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦_5_verify.png", "elapsed_sec": 30.47995686531067, "timestamp": "2026-03-10 18:12:24"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul业务模型 派对+切片+小程序全链路.mp4", "title": "派对获客→AI切片→小程序变现,全链路拆解 #商业模式 #一人公司", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/Soul业务模型 派对+切片+小程序全链路_5_verify.png", "elapsed_sec": 30.663927793502808, "timestamp": "2026-03-10 18:13:03"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4", "title": "AI剪辑半小时出10到30条切片,内容工厂效率密码 #AI剪辑 #内容效率", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/Soul切片30秒到8分钟 AI半小时能剪10到30个_5_verify.png", "elapsed_sec": 30.90933394432068, "timestamp": "2026-03-10 18:13:42"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4", "title": "创业初期先找两个IS型人格,比融资好使十倍 #MBTI创业 #团队搭建", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥_5_verify.png", "elapsed_sec": 30.632225036621094, "timestamp": "2026-03-10 18:14:20"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/刷牙听业务逻辑 Soul切片变现怎么跑.mp4", "title": "刷牙3分钟听完一套变现逻辑 #碎片创业 #副业逻辑", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/刷牙听业务逻辑 Soul切片变现怎么跑_5_verify.png", "elapsed_sec": 30.63472008705139, "timestamp": "2026-03-10 18:14:59"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/国学易经怎么学 两小时七七八八,召唤作者对话.mp4", "title": "易经两小时学个七七八八,关键是跟古人对话 #国学 #易经入门", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/国学易经怎么学 两小时七七八八,召唤作者对话_5_verify.png", "elapsed_sec": 30.53782320022583, "timestamp": "2026-03-10 18:15:38"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/广点通能投Soul了,1000曝光6到10块.mp4", "title": "广点通能投Soul了!1000次曝光只要6到10块 #广点通 #低成本获客", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/广点通能投Soul了,1000曝光6到10块_5_verify.png", "elapsed_sec": 30.867189168930054, "timestamp": "2026-03-10 18:16:17"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/建立信任不是求来的 卖外挂发邮件三个月拿下德国总代.mp4", "title": "信任不是求来的,发三个月邮件拿下德国总代理 #销售思维 #信任建立", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/建立信任不是求来的 卖外挂发邮件三个月拿下德国总代_5_verify.png", "elapsed_sec": 31.436657190322876, "timestamp": "2026-03-10 18:16:56"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/懒人的活法 动作简单有利可图正反馈.mp4", "title": "懒人也能赚钱?动作简单、有利可图、正反馈 #Soul派对 #副业思维", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/懒人的活法 动作简单有利可图正反馈_5_verify.png", "elapsed_sec": 30.71743607521057, "timestamp": "2026-03-10 18:17:35"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/早起不是为了开派对,是不吵老婆睡觉.mp4", "title": "每天6点起床不是因为自律,是因为老婆还在睡 #Soul派对 #创业日记", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/早起不是为了开派对,是不吵老婆睡觉_5_verify.png", "elapsed_sec": 30.861982822418213, "timestamp": "2026-03-10 18:18:14"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/核心就两个字 筛选。能开派对坚持7天的人再谈.mp4", "title": "核心就两个字:筛选。能坚持7天的人才值得深聊 #筛选思维 #创业认知", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/核心就两个字 筛选。能开派对坚持7天的人再谈_5_verify.png", "elapsed_sec": 31.045093774795532, "timestamp": "2026-03-10 18:18:53"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/睡眠不好?每天放下一件事,做减法.mp4", "title": "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/睡眠不好?每天放下一件事,做减法_5_verify.png", "elapsed_sec": 32.4734902381897, "timestamp": "2026-03-10 18:19:34"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/这套体系花了170万,但前端几十块就能参与.mp4", "title": "后端花170万搭体系,前端几十块就能参与 #商业认知 #体系思维", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/这套体系花了170万,但前端几十块就能参与_5_verify.png", "elapsed_sec": 34.45086717605591, "timestamp": "2026-03-10 18:20:16"} +{"platform": "视频号", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片/金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4", "title": "后端30人沉淀12年,前端就丢个手机号 #AI获客 #系统思维", "success": true, "status": "reviewing", "message": "API确认,列表未匹配 (未在列表前20条中找到)", "screenshot": "/tmp/channels_ss/金融AI获客体系 后端30人沉淀12年,前端丢手机_5_verify.png", "elapsed_sec": 3430.994603872299, "timestamp": "2026-03-10 19:17:35"} diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/schedule_generator.py b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/schedule_generator.py index c5acfb27..69f29d26 100644 --- a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/schedule_generator.py +++ b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/schedule_generator.py @@ -15,7 +15,7 @@ def generate_schedule( min_gap: int = 30, max_gap: int = 120, max_hours: float = 24.0, - first_delay: int = 5, + first_delay: int = 125, start_time: datetime = None, ) -> list[datetime]: """ diff --git a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_login.py b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_login.py index 40845c37..0565aac8 100644 --- a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_login.py +++ b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_login.py @@ -1,5 +1,8 @@ #!/usr/bin/env python3 -"""获取抖音 Cookie - 弹窗浏览器 → 扫码登录 → 保存 storage_state""" +""" +抖音创作者平台登录 — 弹窗浏览器扫码 → 自动检测登录 → 保存 storage_state +扫码后无需手动操作,脚本自动检测登录状态并保存。 +""" import asyncio from pathlib import Path from playwright.async_api import async_playwright @@ -8,8 +11,8 @@ COOKIE_FILE = Path(__file__).parent / "douyin_storage_state.json" async def main(): - print("即将弹出浏览器,请用新抖音号扫码登录。") - print("登录成功后,在 Playwright Inspector 窗口中点击绿色 ▶ 按钮。\n") + print("即将弹出浏览器,请用抖音 APP 扫码登录。") + print("登录成功后脚本会自动保存 Cookie,无需手动操作。\n") async with async_playwright() as pw: browser = await pw.chromium.launch(headless=False) @@ -26,7 +29,31 @@ async def main(): """) page = await context.new_page() await page.goto("https://creator.douyin.com/", timeout=60000) - await page.pause() + + print("[i] 等待扫码登录... (最长等待 120 秒)") + try: + await page.wait_for_url( + "**/creator-micro/home**", + timeout=120000, + ) + print("[✓] 检测到登录成功!正在保存 Cookie...") + except Exception: + print("[i] 未检测到自动跳转,尝试检测 Cookie...") + for _ in range(30): + cookies = await context.cookies() + has_session = any( + c["name"] in ("sessionid", "sessionid_ss", "passport_csrf_token") + for c in cookies + if "douyin.com" in c.get("domain", "") + ) + if has_session: + print("[✓] 检测到登录 Cookie!") + break + await asyncio.sleep(2) + else: + print("[⚠] 超时,尝试保存当前状态...") + + await asyncio.sleep(2) await context.storage_state(path=str(COOKIE_FILE)) await context.close() await browser.close() diff --git a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_pure_api.py b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_pure_api.py index dd762e52..7906e385 100644 --- a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_pure_api.py +++ b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_pure_api.py @@ -49,35 +49,35 @@ UA = ( TITLES = { "早起不是为了开派对,是不吵老婆睡觉.mp4": - "每天6点起床不是因为自律,是因为老婆还在睡。创业人最真实的起床理由,你猜到了吗?#Soul派对 #创业日记 #晨间直播 #真实创业", + "每天6点起床不是因为自律,是因为老婆还在睡。创业人最真实的起床理由,你猜到了吗?#Soul派对 #创业日记 #晨间直播 #真实创业 #小程序 卡若创业派对", "懒人的活法 动作简单有利可图正反馈.mp4": - "懒人也能赚钱?关键就三个词:动作简单、有利可图、正反馈。90%的人输在太勤快了 #Soul派对 #副业思维 #私域变现 #认知升级", + "懒人也能有收益?关键就三个词:动作简单、有利可图、正反馈。90%的人输在太勤快了 #Soul派对 #副业思维 #商业转化 #认知升级 #小程序 卡若创业派对", "初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4": - "创业初期别急着找钱,先找两个IS型人格。ENFJ负责链接,ENTJ负责指挥,比融资好使十倍 #MBTI创业 #团队搭建 #Soul派对 #合伙人", + "创业初期别急着找钱,先找两个IS型人格。ENFJ负责链接,ENTJ负责指挥,比融资好使十倍 #MBTI创业 #团队搭建 #Soul派对 #合伙人 #小程序 卡若创业派对", "ICU出来一年多 活着要在互联网上留下东西.mp4": - "ICU出来一年多了。那之后我想明白一件事:活着,就要在互联网上留下点东西 #人生感悟 #创业觉醒 #Soul派对 #向死而生", + "重症监护出来一年多了。那之后我想明白一件事:活着,就要在互联网上留下点东西 #人生感悟 #创业觉醒 #Soul派对 #向死而生 #小程序 卡若创业派对", "MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4": - "20岁测MBTI,40岁以后该学五行八卦了。年轻人用性格分类,中年人靠命理运营自己 #MBTI #五行 #Soul派对 #认知觉醒", + "20岁测MBTI,40岁以后该学五行八卦了。年轻人用性格分类,中年人靠命理运营自己 #MBTI #五行 #Soul派对 #认知觉醒 #小程序 卡若创业派对", "Soul业务模型 派对+切片+小程序全链路.mp4": - "一个人怎么跑通一条商业链路?派对获客→AI切片→小程序变现,全链路拆给你看 #Soul派对 #商业模式 #全链路 #一人公司", + "一个人怎么跑通一条商业链路?派对获客→AI切片→小程序转化,全链路拆给你看 #Soul派对 #商业模式 #全链路 #一人公司 #小程序 卡若创业派对", "Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4": - "AI剪辑有多快?30秒到8分钟的切片,半小时出10到30条。内容工厂的效率密码 #AI剪辑 #Soul派对 #内容效率 #批量生产", + "AI剪辑有多快?30秒到8分钟的切片,半小时出10到30条。内容工厂的效率密码 #AI剪辑 #Soul派对 #内容效率 #批量生产 #小程序 卡若创业派对", "刷牙听业务逻辑 Soul切片变现怎么跑.mp4": - "刷牙3分钟,刚好听完一套变现逻辑。Soul切片怎么从0到日产30条?碎片时间才是生产力 #Soul派对 #碎片创业 #副业逻辑 #效率", + "刷牙3分钟,刚好听完一套转化逻辑。Soul切片怎么从0到日产30条?碎片时间才是生产力 #Soul派对 #碎片创业 #副业逻辑 #效率 #小程序 卡若创业派对", "国学易经怎么学 两小时七七八八,召唤作者对话.mp4": - "易经其实不难,两小时就能学个七七八八。关键是找到作者的思维频率,跟古人对话 #国学 #易经入门 #Soul派对 #终身学习", + "易经其实不难,两小时就能学个七七八八。关键是找到作者的思维频率,跟古人对话 #国学 #易经入门 #Soul派对 #终身学习 #小程序 卡若创业派对", "广点通能投Soul了,1000曝光6到10块.mp4": - "广点通终于能投Soul了!1000次曝光只要6到10块,这个获客成本你敢信?#Soul派对 #广点通投放 #低成本获客 #流量红利", + "广点通终于能投Soul了!1000次曝光只要6到10块,这个获客成本你敢信?#Soul派对 #广点通投放 #低成本获客 #流量红利 #小程序 卡若创业派对", "建立信任不是求来的 卖外挂发邮件三个月拿下德国总代.mp4": - "信任不是求来的。一个卖外挂的小伙子,发了三个月邮件,拿下德国总代理。死磕比社交有用 #销售思维 #信任建立 #Soul派对 #死磕精神", + "信任不是求来的。一个卖辅助工具的小伙子,发了三个月邮件,拿下德国总代理。死磕比社交有用 #销售思维 #信任建立 #Soul派对 #死磕精神 #小程序 卡若创业派对", "核心就两个字 筛选。能开派对坚持7天的人再谈.mp4": - "别跟所有人合作,核心就两个字:筛选。能坚持开7天派对的人,才值得深聊 #筛选思维 #Soul派对 #创业认知 #人性", + "别跟所有人合作,核心就两个字:筛选。能坚持开7天派对的人,才值得深聊 #筛选思维 #Soul派对 #创业认知 #人性 #小程序 卡若创业派对", "睡眠不好?每天放下一件事,做减法.mp4": - "睡不好不是因为太累,是因为脑子里装太多。每天放下一件事,做减法,睡眠自然好 #睡眠 #做减法 #Soul派对 #心理健康", + "睡不好不是因为太累,是因为脑子里装太多。每天放下一件事,做减法,睡眠自然好 #睡眠 #做减法 #Soul派对 #心理健康 #小程序 卡若创业派对", "这套体系花了170万,但前端几十块就能参与.mp4": - "后端花了170万搭的体系,前端几十块就能参与。真正的商业模式是让别人低成本上车 #商业认知 #Soul派对 #低门槛创业 #体系思维", + "后端花了170万搭的体系,前端几十块就能参与。真正的商业模式是让别人低成本上车 #商业认知 #Soul派对 #低门槛创业 #体系思维 #小程序 卡若创业派对", "金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4": - "后端30人沉淀了12年,前端操作就是丢个手机号。金融AI获客体系,把复杂留给自己 #AI获客 #金融科技 #Soul派对 #系统思维", + "后端30人沉淀了12年,前端操作就是丢个手机号。金融AI获客体系,把复杂留给自己 #AI获客 #金融科技 #Soul派对 #系统思维 #小程序 卡若创业派对", } diff --git a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_storage_state.json b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_storage_state.json index c4c6ee41..b13a0735 100644 --- a/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_storage_state.json +++ b/03_卡木(木)/木叶_视频内容/抖音发布/脚本/douyin_storage_state.json @@ -1 +1 @@ -{"cookies": [{"name": "gd_random", "value": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC4yODc5NDYxMTMwNDAyMzI3N30=.xHaBbOX+tkUJryB25KUpi5Td/TsNTX4BHDCo4v1arE8=", "domain": "creator.douyin.com", "path": "/goofy/douyin_creator_pc/creator_pc_vmok_common/vmok-manifest.json", "expires": 1773734748.698653, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "gd_random", "value": "eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuMjg3OTQ2MTEzMDQwMjMyNzd9.8yO4GfIk0BBeLsWWNSYdpBM5VHFu7jQNnGYOwy0x/MA=", "domain": "creator.douyin.com", "path": "/", "expires": 1773734747.225592, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "x-web-secsdk-uid", "value": "6998e994-1229-4a02-bc3c-29e81fbf4f65", "domain": "creator.douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "gfkadpd", "value": "2906,33638", "domain": "creator.douyin.com", "path": "/", "expires": 1773389147, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "_tea_utm_cache_2906", "value": "undefined", "domain": ".creator.douyin.com", "path": "/", "expires": 1773734748, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "csrf_session_id", "value": "6b09d5b10c4ab498c588892c745a109c", "domain": "creator.douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "ttwid", "value": "1%7CvFbFxkZ0nOT9ABUWW7acjUvDpgZDvus8IezCEL3O-WQ%7C1773129949%7Caaa1765584a835b056eb388b665d86375febfff951abfffe5f2eeb15a3d9dd0e", "domain": ".bytedance.com", "path": "/", "expires": 1804665949.013486, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "__security_mc_1_s_sdk_crypt_sdk", "value": "6870ed82-4395-9abf", "domain": ".douyin.com", "path": "/", "expires": 1778313949.819246, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "bd_ticket_guard_client_data", "value": "eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCRkdqTTJXMFFmOGNsdGtCZTdFb0N5RXM0OFdTNTFwNVprUFBFcWtldjdJd3pvLy9PdkdmaVNDeGc1UEd3KzJQbCsxVy83bW1XYi9DY2tReTZSRFNQbGM9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoyfQ%3D%3D", "domain": ".douyin.com", "path": "/", "expires": 1778313949.841999, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "bd_ticket_guard_client_web_domain", "value": "2", "domain": ".douyin.com", "path": "/", "expires": 1778313949.84213, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "passport_csrf_token", "value": "376c9eef624663835547ac340e098e4d", "domain": ".douyin.com", "path": "/", "expires": 1778313950.102295, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "passport_csrf_token_default", "value": "376c9eef624663835547ac340e098e4d", "domain": ".douyin.com", "path": "/", "expires": 1778313950.102666, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "ttwid", "value": "1%7CvFbFxkZ0nOT9ABUWW7acjUvDpgZDvus8IezCEL3O-WQ%7C1773129950%7C20f925e75a4763a685839750e185aceb34c59bca0f6843e492bb8d7cadfa7bb1", "domain": ".douyin.com", "path": "/", "expires": 1804665950.104838, "httpOnly": true, "secure": true, "sameSite": "None"}], "origins": [{"origin": "https://creator.douyin.com", "localStorage": [{"name": "__tea_cache_tokens_2906", "value": "{\"web_id\":\"7615535086549599759\",\"user_unique_id\":\"7615535086549599759\",\"timestamp\":1773129948552}"}, {"name": "LOGIN_STATUS", "value": "{\"logintype\":\"user\",\"loginapp\":\"douyin\"}"}, {"name": "__msuuid__", "value": "817daf06-34b9-4e85-b77c-e49de6d8af4d"}, {"name": "CREATOR_LAYOUT_CONFIG", "value": "{\"headerLogo\":{\"douyin\":{\"src\":\"//lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/pc/icons/logo.png\"},\"huoshan\":{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_logo_h.png~tplv-obj.image\"}},\"hotsoonHelpShow\":false,\"footerLink\":[{\"children\":\"\u8d26\u53f7\u6388\u6743\u534f\u8bae\",\"href\":\"//lf3-beecdn.bytetos.com/obj/ies-fe-bee/bee_prod/biz_181/bee_prod_181_bee_publish_1095.html\"},{\"children\":\"\u7528\u6237\u670d\u52a1\u534f\u8bae\",\"href\":\" //www.douyin.com/agreement/\"},{\"children\":\"\u9690\u79c1\u653f\u7b56\",\"href\":\" //www.douyin.com/privacy/\"},{\"children\":\"\u8d26\u53f7\u627e\u56de\",\"href\":\" //www.douyin.com/recovery_account/\"},{\"children\":\"\u8054\u7cfb\u6211\u4eec\",\"href\":\" //www.douyin.com/aboutus/\"}],\"footerText\":[[\"2025 \u00a9 \u6296\u97f3\",\"[\u4eacICP\u590716016397\u53f7-3](https://beian.miit.gov.cn/)\",\"[\u5317\u4eac\u6296\u97f3\u79d1\u6280\u6709\u9650\u516c\u53f8](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u8425\u4e1a\u6267\u7167.jpg)\",\"[\u4eacB2-20170846](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u589e\u503c\u7535\u4fe1\u4e1a\u52a1\u7ecf\u8425\u8bb8\u53ef\u8bc1.jpg)\"],[\"[\u4e2d\u56fd\u4e92\u8054\u7f51\u4e3e\u62a5\u4e2d\u5fc3](http://www.12377.cn/)\",\"[\u7f51\u7edc\u6587\u5316\u7ecf\u8425\u8bb8\u53ef\u8bc1-\u4eac\u7f51\u6587\u30142025\u30150181-061\u53f7](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u7f51\u7edc\u7ecf\u8425\u8bb8\u53ef\u8bc1.jpg)\",\"\u8fdd\u6cd5\u548c\u4e0d\u826f\u4fe1\u606f\u4e3e\u62a5\uff1a400-140-2108\",\"\u4e3e\u62a5\u90ae\u7bb1\uff1afeedback@douyin.com\"],[\"![pic](//p3.douyinpic.com/aweme-server-static-resource/gongan_d0289dc.png~tplv-obj.image)\",\"[\u4eac\u516c\u7f51\u5b89\u590711000002002046\u53f7](http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11000002002046)\",\"\u5730\u5740\uff1a\u5317\u4eac\u5e02\u6d77\u6dc0\u533a\u5317\u4e09\u73af\u897f\u8def\u753218\u53f7\u96624\u53f7\u697c2\u5c422022\"]],\"permissionKeys\":[{\"itemKey\":\"/authority\",\"text\":\"\u6388\u6743\u7ba1\u7406\",\"show\":true,\"permission\":\"CreatorConferManage\"},{\"itemKey\":\"/content/\",\"text\":\"\u5185\u5bb9\u7ba1\u7406\",\"path\":[\"/live/media/create\",\"/live/media/room\",\"/live/media/list\"],\"show\":true,\"permission\":\"CreatorContentManage\"},{\"itemKey\":\"/following\",\"text\":\"\u4e92\u52a8\u7ba1\u7406\",\"show\":true,\"permission\":\"CreatorInterManage\"},{\"itemKey\":\"/data\",\"text\":\"\u6570\u636e\u7ba1\u7406\",\"path\":[\"/live/media/data\"],\"show\":true,\"permission\":\"CreatorDataManage\"},{\"itemKey\":\"/musician\",\"text\":\"\u97f3\u4e50\u7ba1\u7406\",\"show\":true,\"restrictHotsoon\":true,\"permission\":\"CreatorMusicManage\"},{\"itemKey\":\"/publicity/topic\",\"text\":\"\u5ba3\u53d1\u7ba1\u7406\",\"show\":false,\"restrictHotsoon\":true,\"permission\":\"CreatorContentManage.Challenge\"}],\"headerIcons\":[{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification_icon.svg~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"visible\":{\"has_unread_message\":false,\"is_login_hotsoon\":false}},{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification.png~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"style\":{\"width\":\"24px\",\"height\":\"24px\"},\"badge\":{\"count\":\"unread_message_count\"},\"visible\":{\"has_unread_message\":true,\"is_login_hotsoon\":false}}],\"sidebarFollowerTip\":\"\u4ec5\u5c55\u793a\u6296\u97f3\u7c89\u4e1d\",\"sidebarData\":{\"data\":[{\"name\":\"\u89c6\u9891\u6570\u636e\",\"keyName\":\"CreatorDataManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_vedio.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/stats/overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/video\",\"name\":\"\u4f5c\u54c1\u6570\u636e\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/follower/portrait\",\"name\":\"\u7c89\u4e1d\u753b\u50cf\",\"keyName\":\"CreatorDataManage.Portrait\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/hotsoon-overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/data/stats/hotsoon-item\",\"name\":\"\u4f5c\u54c1\u6570\u636e\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/weekly\",\"name\":\"\u521b\u4f5c\u5468\u62a5\",\"keyName\":\"CreatorDataManage.WeekReport\",\"visible\":{\"is_login_hotsoon\":false}}]},{\"name\":\"\u76f4\u64ad\u6570\u636e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_data_icon.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/live/overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"key\":\"CreatorDataManage.Live\"},{\"path\":\"/live/media/data\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"key\":\"CreatorLiveManage.Data\"},{\"path\":\"/data/live/video\",\"name\":\"\u5355\u573a\u6570\u636e\",\"key\":\"CreatorDataManage.Live\"}]},{\"name\":\"\u91cd\u70b9\u5173\u6ce8\",\"keyName\":\"CreatorDataManage\",\"auth\":true,\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_inportant.svg~tplv-obj.image\",\"visible\":[{\"status_code\":8,\"window.location.host\":\"creator.douyin.com\"},{\"status_code\":15384,\"window.location.host\":\"creator.douyin.com\"},{\"is_login_hotsoon\":false}],\"children\":[{\"path\":\"/data/important/following\",\"name\":\"\u6211\u5173\u5fc3\u7684\",\"keyName\":\"CreatorDataManage.TraceOthers\"},{\"path\":\"/data/important/keyword\",\"name\":\"\u4e0e\u6211\u76f8\u5173\",\"keyName\":\"CreatorDataManage.SearchSelf\"}]}],\"interaction\":[{\"name\":\"\u4e92\u52a8\u7ba1\u7406\",\"keyName\":\"CreatorInterManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_following.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/following/following\",\"name\":\"\u5173\u6ce8\u7ba1\u7406\"},{\"path\":\"/following/follower\",\"name\":\"\u7c89\u4e1d\u7ba1\u7406\"},{\"path\":\"/following/comment\",\"name\":\"\u8bc4\u8bba\u7ba1\u7406\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/following/chat\",\"name\":\"\u79c1\u4fe1\u7ba1\u7406\",\"key\":\"CreatorInterManage.im\",\"keyName\":\"CreatorInterManage.im\",\"visible\":{\"is_login_hotsoon\":false,\"douyin_user_verify_info.teen_model\":false}}]}],\"publicity\":[{\"name\":\"\u5ba3\u53d1\u7ba1\u7406\",\"key\":\"CreatorContentManage.Challenge\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_publicity.svg~tplv-obj.image\",\"children\":[{\"path\":\"/publicity/topic\",\"name\":\"\u8bdd\u9898\u7ba1\u7406\"}]}],\"music\":[{\"name\":\"\u97f3\u4e50\u7ba1\u7406\",\"key\":\"CreatorMusicManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_music.svg~tplv-obj.image\",\"children\":[{\"path\":\"/musician\",\"name\":\"\u6982\u89c8\"},{\"path\":\"/musician/songs\",\"name\":\"\u97f3\u4e50\u7ba1\u7406\"},{\"path\":\"/musician/statistics\",\"name\":\"\u6570\u636e\u7ba1\u7406\"}]}],\"live\":[{\"name\":\"\u76f4\u64ad\u7ba1\u7406\",\"key\":\"CreatorLiveManage\",\"children\":[{\"path\":\"/live/media/create\",\"name\":\"\u521b\u5efa\u76f4\u64ad\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livecreate.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Create\"},{\"path\":\"/live/media/list\",\"name\":\"\u76f4\u64ad\u5217\u8868\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livelist.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.List\"},{\"path\":\"/live/media/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livereplay.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Replay\"}]},{\"name\":\"\u6570\u636e\u7ba1\u7406\",\"key\":\"CreatorLiveManage.Data\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"children\":[{\"path\":\"/live/media/data\",\"name\":\"\u76f4\u64ad\u6570\u636e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Data\"}]}],\"media\":[{\"name\":\"\u53d1\u5e03\u89c6\u9891\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_upload_v2.svg~tplv-obj.image\",\"path\":[\"/content/upload\",\"/content/publish\"]},{\"name\":\"\u5185\u5bb9\u7ba1\u7406\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_manage_v2.svg~tplv-obj.image\",\"children\":[{\"path\":\"/content/manage\",\"name\":\"\u89c6\u9891\u7ba1\u7406\",\"icon\":\"\"},{\"path\":[\"/content/collection/manage\",\"/content/collection/detail\",\"/content/collection/create\"],\"name\":\"\u5408\u96c6\u7ba1\u7406\",\"icon\":\"\",\"visContextKey\":\"userInfo.mix_permission\",\"visContextValue\":true},{\"path\":\"/content/safeguard\",\"name\":\"\u7ef4\u6743\u7ba1\u7406\",\"icon\":\"\",\"visContextKey\":\"userInfo.permission.user_sign\",\"visContextValue\":true}]},{\"name\":\"\u76f4\u64ad\u7ba1\u7406\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_livecreate_v2.svg~tplv-obj.image\",\"visContextKey\":\"creatorMenu.live_manage\",\"visContextValue\":true,\"children\":[{\"path\":\"/live/media/create\",\"name\":\"\u521b\u5efa\u76f4\u64ad\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Create\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/live/media/list\",\"name\":\"\u76f4\u64ad\u5217\u8868\",\"icon\":\"\",\"key\":\"CreatorLiveManage.List\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Replay\",\"visContextKey\":\"creatorMenu.replay_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"key\":\"CreatorCommonManage.Replay\"}]}]}}"}, {"name": "__tea_cache_first_2906", "value": "1"}, {"name": "xmst", "value": "BBkaEPFg8DrFf9MsKkhH47wZKp_f9fg7DPge1P1nPkvJse5e7A5XFaKseOevq9u0ymjqGEcV0nY02OLxGPYAo5IgtSae8E4Ast9BosLw0PzWuMJ74JjJM4DUgsMw3FLc6351rsjM0uF7Fg9q7l1LVb8DwQkEKeGoGaY="}, {"name": "ztsdk_tcc_config", "value": "{\"value\":{\"ztsdk_config\":{\"2906\":[{\"aid\":2906,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"providerPathList\":[],\"consumerPathList\":[\"/aweme/v1/creator/relation/create/\",\"/web/api/v2/creator/activity/collect/\",\"/live/api/room/create_media_room/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_publish/\",\"/aweme/v1/web/comment/multi_publish/\",\"/aweme/janus/creator/comment/aweme/v1/comment/publish/\",\"/aweme/v1/web/comment/publish/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/digg/\",\"/aweme/v1/web/comment/digg/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/creator/comment/reply/\",\"/aweme/v1/creator/comment/action/\"],\"signVersion\":2}],\"6383\":[{\"aid\":6383,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"consumerPathList\":[\"/aweme/v1/web/comment/list/reply/\",\"/aweme/v1/web/comment/list/\",\"/aweme/v2/web/comment/list/reply/\"],\"signVersion\":2}]}},\"expire\":1773151548887}"}, {"name": "security-sdk/s_sdk_server_cert_key", "value": "{\"cert\":\"-----BEGIN CERTIFICATE-----\\nMIIEfTCCBCKgAwIBAgIUXWdS2tzmSoewCWfKFyiWMrJqs/0wCgYIKoZIzj0EAwIw\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\nNTYwIBcNMjIxMTE4MDUyMDA2WhgPMjA2OTEyMzExNjAwMDBaMCQxCzAJBgNVBAYT\\nAkNOMRUwEwYDVQQDEwxlY2llcy1zZXJ2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMB\\nBwNCAASE2llDPlfc8Rq+5J5HXhg4edFjPnCF3Ua7JBoiE/foP9m7L5ELIcvxCgEx\\naRCHbQ8kCCK/ArZ4FX/qCobZAkToo4IDITCCAx0wDgYDVR0PAQH/BAQDAgWgMDEG\\nA1UdJQQqMCgGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwME\\nMCkGA1UdDgQiBCABydxqGrVEHhtkCWTb/vicGpDZPFPDxv82wiuywUlkBDArBgNV\\nHSMEJDAigCAypWfqjmRIEo3MTk1Ae3MUm0dtU3qk0YDXeZSXeyJHgzCCAZQGCCsG\\nAQUFBwEBBIIBhjCCAYIwRgYIKwYBBQUHMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL29jc3AwRgYIKwYBBQUH\\nMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\ncnRpZmljYXRlL29jc3AwdwYIKwYBBQUHMAKGa2h0dHA6Ly9uZXh1cy1wcm9kdWN0\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL2Rvd25sb2FkLzQ4RjlD\\nMEU3QjBDNUE3MDVCOTgyQkU1NTE3MDVGNjQ1QzhDODc4QTguY3J0MHcGCCsGAQUF\\nBzAChmtodHRwOi8vbmV4dXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UubmV0L2FwaS9j\\nZXJ0aWZpY2F0ZS9kb3dubG9hZC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1\\nRjY0NUM4Qzg3OEE4LmNydDCB5wYDVR0fBIHfMIHcMGygaqBohmZodHRwOi8vbmV4\\ndXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UuY29tL2FwaS9jZXJ0aWZpY2F0ZS9jcmwv\\nNDhGOUMwRTdCMEM1QTcwNUI5ODJCRTU1MTcwNUY2NDVDOEM4NzhBOC5jcmwwbKBq\\noGiGZmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\ncnRpZmljYXRlL2NybC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1RjY0NUM4\\nQzg3OEE4LmNybDAKBggqhkjOPQQDAgNJADBGAiEAqMjT5ADMdGMeaImoJK4J9jzE\\nLqZ573rNjsT3k14pK50CIQCLpWHVKWi71qqqrMjiSDvUhpyO1DpTPRHlavPRuaNm\\nww==\\n-----END CERTIFICATE-----\",\"sn\":\"533240336124694022040808462028007165443034493949\",\"createdTime\":1773129950141}"}, {"name": "__tea_cache_first_1661", "value": "1"}, {"name": "SLARDARdouyin_creator", "value": "JTdCJTIydXNlcklkJTIyOiUyMmRiOWM3OWMwLTI2ODYtNGVmMy05ZGEyLWY0MWRlMTBkNDkxZSUyMiwlMjJkZXZpY2VJZCUyMjolMjI1NzY5MWRhOC1jMWE2LTRjZDYtOWQ0Mi0wNjMwMzI3M2ZlN2YlMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTA1OTQ4NzQwJTdE"}, {"name": "SLARDARuc_secure_sdk", "value": "JTdCJTIydXNlcklkJTIyOiUyMjI5ZDUyNGE3LWIwZjctNDUxZi1iMmVlLTg5YTFhY2E2NDhlOCUyMiwlMjJkZXZpY2VJZCUyMjolMjI3MmQ5YzlmMC0zZWI1LTRhODctOTZjOS01NjljZDk3MDY2NzclMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTA1OTQ4ODE1JTdE"}, {"name": "__tea_cache_tokens_1661", "value": "{\"web_id\":\"1371012111420214413\",\"user_unique_id\":\"1371012111420214413\",\"timestamp\":1773129949925,\"_type_\":\"default\"}"}, {"name": "web_runtime_security_uid", "value": "6998e994-1229-4a02-bc3c-29e81fbf4f65"}, {"name": "security-sdk/s_sdk_crypt_sdk", "value": "{\"data\":\"{\\\"ec_privateKey\\\":\\\"-----BEGIN PRIVATE KEY-----\\\\r\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg5xWr1k1KUaO0AdXT\\\\r\\\\nj325VidQs5OhEHNh5hTTZdWgd0ShRANCAARRozNltEH/HJbZAXuxKAshLOPFkuda\\\\r\\\\neWZDzxKpHr+yMM6P/zrxn4kgsYOTxsPtj5ftVv+5plm/wnJEMukQ0j5X\\\\r\\\\n-----END PRIVATE KEY-----\\\\r\\\\n\\\",\\\"ec_publicKey\\\":\\\"-----BEGIN PUBLIC KEY-----\\\\r\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUaMzZbRB/xyW2QF7sSgLISzjxZLn\\\\r\\\\nWnlmQ88SqR6/sjDOj/868Z+JILGDk8bD7Y+X7Vb/uaZZv8JyRDLpENI+Vw==\\\\r\\\\n-----END PUBLIC KEY-----\\\\r\\\\n\\\",\\\"ec_csr\\\":\\\"\\\"}\"}"}]}, {"origin": "https://lf-zt.douyin.com", "localStorage": [{"name": "security-sdk/s_sdk_crypt_sdk", "value": "{\"data\":\"{\\\"ec_privateKey\\\":\\\"-----BEGIN PRIVATE KEY-----\\\\r\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg5xWr1k1KUaO0AdXT\\\\r\\\\nj325VidQs5OhEHNh5hTTZdWgd0ShRANCAARRozNltEH/HJbZAXuxKAshLOPFkuda\\\\r\\\\neWZDzxKpHr+yMM6P/zrxn4kgsYOTxsPtj5ftVv+5plm/wnJEMukQ0j5X\\\\r\\\\n-----END PRIVATE KEY-----\\\\r\\\\n\\\",\\\"ec_publicKey\\\":\\\"-----BEGIN PUBLIC KEY-----\\\\r\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUaMzZbRB/xyW2QF7sSgLISzjxZLn\\\\r\\\\nWnlmQ88SqR6/sjDOj/868Z+JILGDk8bD7Y+X7Vb/uaZZv8JyRDLpENI+Vw==\\\\r\\\\n-----END PUBLIC KEY-----\\\\r\\\\n\\\",\\\"ec_csr\\\":\\\"\\\"}\"}"}]}]} \ No newline at end of file +{"cookies": [{"name": "gd_random", "value": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC44NjI5ODY3NjA1Mjk5MTE3fQ==.rKHcvX7OslTui4JCIyDqPSXSFaLXtDr/bMsXHcEudqs=", "domain": "creator.douyin.com", "path": "/goofy/douyin_creator_pc/creator_pc_vmok_common/vmok-manifest.json", "expires": 1773747185.705257, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "gd_random", "value": "eyJtYXRjaCI6dHJ1ZSwicGVyY2VudCI6MC44NjI5ODY3NjA1Mjk5MTE3fQ==.rKHcvX7OslTui4JCIyDqPSXSFaLXtDr/bMsXHcEudqs=", "domain": "creator.douyin.com", "path": "/goofy/douyin_creator_pc/vmok/author-tag/vmok-manifest.json", "expires": 1773747186.44576, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "gd_random", "value": "eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuODYyOTg2NzYwNTI5OTExN30=.v1QoIMQGyREUpt+pFSg+xF5IDBRV4AhjQC+VQ2JyhGo=", "domain": "creator.douyin.com", "path": "/goofy/douyin_creator_pc", "expires": 1773747185.87999, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "x-web-secsdk-uid", "value": "29612944-6457-4072-bdfe-556895503650", "domain": "creator.douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "gfkadpd", "value": "2906,33638", "domain": "creator.douyin.com", "path": "/", "expires": 1773401547, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "_tea_utm_cache_2906", "value": "undefined", "domain": ".creator.douyin.com", "path": "/", "expires": 1773747148, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "csrf_session_id", "value": "b4539a47f4c2a8271ddd2b16d79493b5", "domain": "creator.douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "ttwid", "value": "1%7CIyCMHgXN_LgyacQLZqq8EMD1XCaAzxE88Fj1aZRsv8c%7C1773142348%7Ce1acced3049b73aa1d848f97cb90624320f30c61fac76fda96a6b7b53f8d67b9", "domain": ".bytedance.com", "path": "/", "expires": 1804678348.940021, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "bd_ticket_guard_client_web_domain", "value": "2", "domain": ".douyin.com", "path": "/", "expires": 1778326385.762192, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "passport_csrf_token", "value": "52fb18255de663895e45a770181d7244", "domain": ".douyin.com", "path": "/", "expires": 1778326349.359633, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "passport_csrf_token_default", "value": "52fb18255de663895e45a770181d7244", "domain": ".douyin.com", "path": "/", "expires": 1778326349.359676, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "sdk_source_info", "value": "7e276470716a68645a606960273f276364697660272927676c715a6d6069756077273f276364697660272927666d776a68605a607d71606b766c6a6b5a7666776c7571273f275e58272927666a6b766a69605a696c6061273f27636469766027292762696a6764695a7364776c6467696076273f275e5827292771273f27313d30373036373134363232342778", "domain": ".douyin.com", "path": "/", "expires": 1773142652.61171, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "bit_env", "value": "sZQ6EHWl3RBcwtkRIGmeq_ByKuqOksNHqA-zMxMSB02TDXBxo28oK9bfoqpCwdOLaerhoPN4PjR8CE2PvHU4_0HZ4OPlWFmg3Jo9t95S0T2ZwlZ7bxddq3ZvN9uG_g8SZsheK0lNSfB0cJiDMp9vYQgdPHJo7vYqWm3jh2IoLTabI6iZUACTN-n0axuU5sCj-6e4gxTWwD9-_aaCSamRm8rWFIqLjaKXUP09H4iJoxiuTepBHAQK-hH48dk9y3fRu_RRP3xF-sqZvuGhUFkla7OUGvBm_R81VfwVy4pNvHr8-nQsKCvaJkDt6NYyaJ_NFrBCV8hTTVF_IEW111U-53-v-lknWTTpBpaq-cTstGV472zC2XCQejBE96BZySCdKEBfk5WrFPHLwC9T0_7MLSto-SNnzaRDT1EfbFSKyzwqw1eRV_OUScbQ1-UOWzatDb4LKWxE3fbGAH5jrjmqtT1c9NDlb-b4z9e20eC6hvpiHrJPBcCuLVYMXWBwYDdRt1cvaX-QbZFJG6Jk740cFcPYPku-TfJLXtD4xN1HJRs%3D", "domain": ".douyin.com", "path": "/", "expires": 1773142652.611854, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "gulu_source_res", "value": "eyJwX2luIjoiNGQyZWY5YTQ5ZWRjMWRkODFjNjhhNDYzMTkwZDk5YzJlMTJhY2U4OTdjODg1Yzc5M2YzYTE0ODE0ZDQ1NGJkNSJ9", "domain": ".douyin.com", "path": "/", "expires": 1773142652.611889, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "passport_auth_mix_state", "value": "ed3tu2h97olm14b23k77oxluhnuk39m7", "domain": ".douyin.com", "path": "/", "expires": 1773142592.611913, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "passport_fe_beating_status", "value": "false", "domain": ".creator.douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "passport_mfa_token", "value": "CjUUgAroxy8ZrqXHUuwixlL3wOPYYAQCoHPce2CELAADlDA0wzQJOIcZ62Kp%2FAUBxH4lK3fYZRpKCjwAAAAAAAAAAAAAUCpcINeTVJS7%2FIzUAQZoEO76mFgxb5LzhtOxyf0acnH8IEQf%2FucFODMgiTecVsy9ZnAQqtuLDhj2sdFsIAIiAQP7YCev", "domain": ".douyin.com", "path": "/", "expires": 1778326384.72832, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "d_ticket", "value": "516116834291daa33b1bfa06638262008ec95", "domain": ".douyin.com", "path": "/", "expires": 1804678384.728348, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "biz_trace_id", "value": "f1972ae8", "domain": ".douyin.com", "path": "/", "expires": -1, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "odin_tt", "value": "ddc6994d1e244c72d73abc39c0483642c15c4644fd24d186a5ec19c3b45c3db05aaec6aab8edbef947bd171660832223", "domain": ".douyin.com", "path": "/", "expires": 1804678385.131795, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "passport_assist_user", "value": "CjzcxvvGxKpYmFKA-NaKEU0AF0mNtJ0BUW6fR42KQQsHYxjshTyV8Z-Su08lpMy9pIDjSa26P7AJR5Se52EaSgo8AAAAAAAAAAAAAFAqar2sslRWBBbU_CN1rLmpXZzMGkoS7nucTzcWba-MZPyFxjzPWRCDZgEKwEpuL2lhEN7diw4Yia_WVCABIgEDON08ug%3D%3D", "domain": ".douyin.com", "path": "/", "expires": 1807702385.131835, "httpOnly": false, "secure": true, "sameSite": "Lax"}, {"name": "n_mh", "value": "KJdEUPavjSIo_936-mr2L_7xbccTWtvmWNdw6rL7RJM", "domain": ".douyin.com", "path": "/", "expires": 1783510385.131853, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "sid_guard", "value": "56c00c679903600b8119e16fd4662e6e%7C1773142385%7C5184000%7CSat%2C+09-May-2026+11%3A33%3A05+GMT", "domain": ".douyin.com", "path": "/", "expires": 1804246385.131864, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "uid_tt", "value": "42884b285dad2f76ef4e9994987fc7f2", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131873, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "uid_tt_ss", "value": "42884b285dad2f76ef4e9994987fc7f2", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131883, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "sid_tt", "value": "56c00c679903600b8119e16fd4662e6e", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131895, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "sessionid", "value": "56c00c679903600b8119e16fd4662e6e", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131905, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "sessionid_ss", "value": "56c00c679903600b8119e16fd4662e6e", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131914, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "session_tlb_tag", "value": "sttt%7C15%7CVsAMZ5kDYAuBGeFv1GYubv_________rHMynrkmGSwKwjiiz7-YGf48x8lMIA-wrgKMy7INLQf8%3D", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131923, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "is_staff_user", "value": "false", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131933, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "sid_ucp_v1", "value": "1.0.0-KGZlMjE1YTcxYThkMmQyYzlkOTIwYTFiYTM4YmQ2NGFkNmM1Mjk0YmYKHwiR_ozr4wIQ8YLAzQYY2hYgDDDP4q_VBTgHQPQHSAQaAmxmIiA1NmMwMGM2Nzk5MDM2MDBiODExOWUxNmZkNDY2MmU2ZQ", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131942, "httpOnly": true, "secure": true, "sameSite": "Lax"}, {"name": "ssid_ucp_v1", "value": "1.0.0-KGZlMjE1YTcxYThkMmQyYzlkOTIwYTFiYTM4YmQ2NGFkNmM1Mjk0YmYKHwiR_ozr4wIQ8YLAzQYY2hYgDDDP4q_VBTgHQPQHSAQaAmxmIiA1NmMwMGM2Nzk5MDM2MDBiODExOWUxNmZkNDY2MmU2ZQ", "domain": ".douyin.com", "path": "/", "expires": 1778326385.131952, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "gd_random", "value": "eyJwZXJjZW50IjowLjg2Mjk4Njc2MDUyOTkxMTcsIm1hdGNoIjpmYWxzZX0=.j3eLXHRZV+haPfmuVu+yMJrLQSWH+HQvtOenKHEIeTo=", "domain": "creator.douyin.com", "path": "/", "expires": 1773747185.254939, "httpOnly": true, "secure": false, "sameSite": "Lax"}, {"name": "_bd_ticket_crypt_doamin", "value": "2", "domain": ".douyin.com", "path": "/", "expires": 1778326385.679402, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "ttwid", "value": "1%7CIyCMHgXN_LgyacQLZqq8EMD1XCaAzxE88Fj1aZRsv8c%7C1773142385%7Cbd06c83d665b00320a3179e3a0bf121e593adf9414c7ac61a0aab9a253650bb0", "domain": ".douyin.com", "path": "/", "expires": 1804678385.721715, "httpOnly": true, "secure": true, "sameSite": "None"}, {"name": "_bd_ticket_crypt_cookie", "value": "4e51cbf77ff7292124cfe98c6657f40f", "domain": ".douyin.com", "path": "/", "expires": 1778326385.743882, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "__security_mc_1_s_sdk_sign_data_key_web_protect", "value": "48859d09-47ef-9112", "domain": ".douyin.com", "path": "/", "expires": 1778326385.744799, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "__security_mc_1_s_sdk_cert_key", "value": "04ccbedd-45b2-8ed9", "domain": ".douyin.com", "path": "/", "expires": 1778326385.744843, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "__security_mc_1_s_sdk_crypt_sdk", "value": "0924e001-4327-988e", "domain": ".douyin.com", "path": "/", "expires": 1778326385.744869, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "__security_server_data_status", "value": "1", "domain": ".douyin.com", "path": "/", "expires": 1778326385.750596, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "bd_ticket_guard_client_data", "value": "eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCQVp5dmY5c1ZwdCttT3lTN1RxbEZiVWc5NFVkVVg5Q2RHS0dLaW14R3ZLRXltRTc1Z1Zic2x2OXY4SFJLR1g2M3BGMjQzZzRWTlFmcjZwVDAyajR4cEE9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoyfQ%3D%3D", "domain": ".douyin.com", "path": "/", "expires": 1778326385.762154, "httpOnly": false, "secure": false, "sameSite": "Lax"}, {"name": "fg_uid", "value": "RID20260310193306FAF56E39184D0783A81F", "domain": "api.feelgood.cn", "path": "/", "expires": 1804678386.232694, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "csrf_session_id", "value": "332689be4e6797710016411115dd463e", "domain": "summon.bytedance.com", "path": "/", "expires": -1, "httpOnly": false, "secure": true, "sameSite": "None"}], "origins": [{"origin": "https://creator.douyin.com", "localStorage": [{"name": "login_type_from_login", "value": "\"\""}, {"name": "LOGIN_STATUS", "value": "{\"logintype\":\"user\",\"loginapp\":\"douyin\"}"}, {"name": "__msuuid__", "value": "a71cba43-ed27-4bf9-bdc5-93c40b28fffa"}, {"name": "CREATOR_LAYOUT_CONFIG", "value": "{\"headerLogo\":{\"douyin\":{\"src\":\"//lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/pc/icons/logo.png\"},\"huoshan\":{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_logo_h.png~tplv-obj.image\"}},\"hotsoonHelpShow\":false,\"footerLink\":[{\"children\":\"\u8d26\u53f7\u6388\u6743\u534f\u8bae\",\"href\":\"//lf3-beecdn.bytetos.com/obj/ies-fe-bee/bee_prod/biz_181/bee_prod_181_bee_publish_1095.html\"},{\"children\":\"\u7528\u6237\u670d\u52a1\u534f\u8bae\",\"href\":\" //www.douyin.com/agreement/\"},{\"children\":\"\u9690\u79c1\u653f\u7b56\",\"href\":\" //www.douyin.com/privacy/\"},{\"children\":\"\u8d26\u53f7\u627e\u56de\",\"href\":\" //www.douyin.com/recovery_account/\"},{\"children\":\"\u8054\u7cfb\u6211\u4eec\",\"href\":\" //www.douyin.com/aboutus/\"}],\"footerText\":[[\"2025 \u00a9 \u6296\u97f3\",\"[\u4eacICP\u590716016397\u53f7-3](https://beian.miit.gov.cn/)\",\"[\u5317\u4eac\u6296\u97f3\u79d1\u6280\u6709\u9650\u516c\u53f8](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u8425\u4e1a\u6267\u7167.jpg)\",\"[\u4eacB2-20170846](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u589e\u503c\u7535\u4fe1\u4e1a\u52a1\u7ecf\u8425\u8bb8\u53ef\u8bc1.jpg)\"],[\"[\u4e2d\u56fd\u4e92\u8054\u7f51\u4e3e\u62a5\u4e2d\u5fc3](http://www.12377.cn/)\",\"[\u7f51\u7edc\u6587\u5316\u7ecf\u8425\u8bb8\u53ef\u8bc1-\u4eac\u7f51\u6587\u30142025\u30150181-061\u53f7](https://lf3-static.bytednsdoc.com/obj/eden-cn/lm-yvahlyj-upfbvk/ljhwZthlaukjlkulzlp/\u7f51\u7edc\u7ecf\u8425\u8bb8\u53ef\u8bc1.jpg)\",\"\u8fdd\u6cd5\u548c\u4e0d\u826f\u4fe1\u606f\u4e3e\u62a5\uff1a400-140-2108\",\"\u4e3e\u62a5\u90ae\u7bb1\uff1afeedback@douyin.com\"],[\"![pic](//p3.douyinpic.com/aweme-server-static-resource/gongan_d0289dc.png~tplv-obj.image)\",\"[\u4eac\u516c\u7f51\u5b89\u590711000002002046\u53f7](http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11000002002046)\",\"\u5730\u5740\uff1a\u5317\u4eac\u5e02\u6d77\u6dc0\u533a\u5317\u4e09\u73af\u897f\u8def\u753218\u53f7\u96624\u53f7\u697c2\u5c422022\"]],\"permissionKeys\":[{\"itemKey\":\"/authority\",\"text\":\"\u6388\u6743\u7ba1\u7406\",\"show\":true,\"permission\":\"CreatorConferManage\"},{\"itemKey\":\"/content/\",\"text\":\"\u5185\u5bb9\u7ba1\u7406\",\"path\":[\"/live/media/create\",\"/live/media/room\",\"/live/media/list\"],\"show\":true,\"permission\":\"CreatorContentManage\"},{\"itemKey\":\"/following\",\"text\":\"\u4e92\u52a8\u7ba1\u7406\",\"show\":true,\"permission\":\"CreatorInterManage\"},{\"itemKey\":\"/data\",\"text\":\"\u6570\u636e\u7ba1\u7406\",\"path\":[\"/live/media/data\"],\"show\":true,\"permission\":\"CreatorDataManage\"},{\"itemKey\":\"/musician\",\"text\":\"\u97f3\u4e50\u7ba1\u7406\",\"show\":true,\"restrictHotsoon\":true,\"permission\":\"CreatorMusicManage\"},{\"itemKey\":\"/publicity/topic\",\"text\":\"\u5ba3\u53d1\u7ba1\u7406\",\"show\":false,\"restrictHotsoon\":true,\"permission\":\"CreatorContentManage.Challenge\"}],\"headerIcons\":[{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification_icon.svg~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"visible\":{\"has_unread_message\":false,\"is_login_hotsoon\":false}},{\"src\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_header_notification.png~tplv-obj.image\",\"link\":\"https://creator.douyin.com/message\",\"style\":{\"width\":\"24px\",\"height\":\"24px\"},\"badge\":{\"count\":\"unread_message_count\"},\"visible\":{\"has_unread_message\":true,\"is_login_hotsoon\":false}}],\"sidebarFollowerTip\":\"\u4ec5\u5c55\u793a\u6296\u97f3\u7c89\u4e1d\",\"sidebarData\":{\"data\":[{\"name\":\"\u89c6\u9891\u6570\u636e\",\"keyName\":\"CreatorDataManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_vedio.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/stats/overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/video\",\"name\":\"\u4f5c\u54c1\u6570\u636e\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/follower/portrait\",\"name\":\"\u7c89\u4e1d\u753b\u50cf\",\"keyName\":\"CreatorDataManage.Portrait\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/data/stats/hotsoon-overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"keyName\":\"CreatorDataManage.UserOverview\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/data/stats/hotsoon-item\",\"name\":\"\u4f5c\u54c1\u6570\u636e\",\"keyName\":\"CreatorDataManage.ItemL2\",\"visible\":{\"is_login_hotsoon\":true}},{\"path\":\"/weekly\",\"name\":\"\u521b\u4f5c\u5468\u62a5\",\"keyName\":\"CreatorDataManage.WeekReport\",\"visible\":{\"is_login_hotsoon\":false}}]},{\"name\":\"\u76f4\u64ad\u6570\u636e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_data_icon.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/data/live/overview\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"key\":\"CreatorDataManage.Live\"},{\"path\":\"/live/media/data\",\"name\":\"\u6570\u636e\u603b\u89c8\",\"key\":\"CreatorLiveManage.Data\"},{\"path\":\"/data/live/video\",\"name\":\"\u5355\u573a\u6570\u636e\",\"key\":\"CreatorDataManage.Live\"}]},{\"name\":\"\u91cd\u70b9\u5173\u6ce8\",\"keyName\":\"CreatorDataManage\",\"auth\":true,\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_inportant.svg~tplv-obj.image\",\"visible\":[{\"status_code\":8,\"window.location.host\":\"creator.douyin.com\"},{\"status_code\":15384,\"window.location.host\":\"creator.douyin.com\"},{\"is_login_hotsoon\":false}],\"children\":[{\"path\":\"/data/important/following\",\"name\":\"\u6211\u5173\u5fc3\u7684\",\"keyName\":\"CreatorDataManage.TraceOthers\"},{\"path\":\"/data/important/keyword\",\"name\":\"\u4e0e\u6211\u76f8\u5173\",\"keyName\":\"CreatorDataManage.SearchSelf\"}]}],\"interaction\":[{\"name\":\"\u4e92\u52a8\u7ba1\u7406\",\"keyName\":\"CreatorInterManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_following.svg~tplv-obj.image\",\"auth\":true,\"children\":[{\"path\":\"/following/following\",\"name\":\"\u5173\u6ce8\u7ba1\u7406\"},{\"path\":\"/following/follower\",\"name\":\"\u7c89\u4e1d\u7ba1\u7406\"},{\"path\":\"/following/comment\",\"name\":\"\u8bc4\u8bba\u7ba1\u7406\",\"visible\":{\"is_login_hotsoon\":false}},{\"path\":\"/following/chat\",\"name\":\"\u79c1\u4fe1\u7ba1\u7406\",\"key\":\"CreatorInterManage.im\",\"keyName\":\"CreatorInterManage.im\",\"visible\":{\"is_login_hotsoon\":false,\"douyin_user_verify_info.teen_model\":false}}]}],\"publicity\":[{\"name\":\"\u5ba3\u53d1\u7ba1\u7406\",\"key\":\"CreatorContentManage.Challenge\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_publicity.svg~tplv-obj.image\",\"children\":[{\"path\":\"/publicity/topic\",\"name\":\"\u8bdd\u9898\u7ba1\u7406\"}]}],\"music\":[{\"name\":\"\u97f3\u4e50\u7ba1\u7406\",\"key\":\"CreatorMusicManage\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_music.svg~tplv-obj.image\",\"children\":[{\"path\":\"/musician\",\"name\":\"\u6982\u89c8\"},{\"path\":\"/musician/songs\",\"name\":\"\u97f3\u4e50\u7ba1\u7406\"},{\"path\":\"/musician/statistics\",\"name\":\"\u6570\u636e\u7ba1\u7406\"}]}],\"live\":[{\"name\":\"\u76f4\u64ad\u7ba1\u7406\",\"key\":\"CreatorLiveManage\",\"children\":[{\"path\":\"/live/media/create\",\"name\":\"\u521b\u5efa\u76f4\u64ad\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livecreate.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Create\"},{\"path\":\"/live/media/list\",\"name\":\"\u76f4\u64ad\u5217\u8868\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livelist.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.List\"},{\"path\":\"/live/media/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livereplay.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Replay\"}]},{\"name\":\"\u6570\u636e\u7ba1\u7406\",\"key\":\"CreatorLiveManage.Data\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"children\":[{\"path\":\"/live/media/data\",\"name\":\"\u76f4\u64ad\u6570\u636e\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ttfe_open_creator_sidebar_livedata.svg~tplv-obj.image\",\"key\":\"CreatorLiveManage.Data\"}]}],\"media\":[{\"name\":\"\u53d1\u5e03\u89c6\u9891\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_upload_v2.svg~tplv-obj.image\",\"path\":[\"/content/upload\",\"/content/publish\"]},{\"name\":\"\u5185\u5bb9\u7ba1\u7406\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_manage_v2.svg~tplv-obj.image\",\"children\":[{\"path\":\"/content/manage\",\"name\":\"\u89c6\u9891\u7ba1\u7406\",\"icon\":\"\"},{\"path\":[\"/content/collection/manage\",\"/content/collection/detail\",\"/content/collection/create\"],\"name\":\"\u5408\u96c6\u7ba1\u7406\",\"icon\":\"\",\"visContextKey\":\"userInfo.mix_permission\",\"visContextValue\":true},{\"path\":\"/content/safeguard\",\"name\":\"\u7ef4\u6743\u7ba1\u7406\",\"icon\":\"\",\"visContextKey\":\"userInfo.permission.user_sign\",\"visContextValue\":true}]},{\"name\":\"\u76f4\u64ad\u7ba1\u7406\",\"icon\":\"//p3.douyinpic.com/aweme-server-static-resource/ies_douyin_opencn_tiktok_creator_sidebar_livecreate_v2.svg~tplv-obj.image\",\"visContextKey\":\"creatorMenu.live_manage\",\"visContextValue\":true,\"children\":[{\"path\":\"/live/media/create\",\"name\":\"\u521b\u5efa\u76f4\u64ad\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Create\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/live/media/list\",\"name\":\"\u76f4\u64ad\u5217\u8868\",\"icon\":\"\",\"key\":\"CreatorLiveManage.List\",\"visContextKey\":\"creatorMenu.media_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"icon\":\"\",\"key\":\"CreatorLiveManage.Replay\",\"visContextKey\":\"creatorMenu.replay_auth\",\"visContextValue\":true},{\"path\":\"/content/live/replay\",\"name\":\"\u76f4\u64ad\u56de\u653e\",\"key\":\"CreatorCommonManage.Replay\"}]}]}}"}, {"name": "__tea_cache_first_2906", "value": "1"}, {"name": "__tea_cache_tokens_5231", "value": "{\"web_id\":\"7615588514201667081\",\"user_unique_id\":\"7615588514201667081\",\"timestamp\":1773142386619,\"_type_\":\"default\"}"}, {"name": "ztsdk_tcc_config", "value": "{\"value\":{\"ztsdk_config\":{\"2906\":[{\"aid\":2906,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"providerPathList\":[],\"consumerPathList\":[\"/aweme/v1/creator/relation/create/\",\"/web/api/v2/creator/activity/collect/\",\"/live/api/room/create_media_room/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_publish/\",\"/aweme/v1/web/comment/multi_publish/\",\"/aweme/janus/creator/comment/aweme/v1/comment/publish/\",\"/aweme/v1/web/comment/publish/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/digg/\",\"/aweme/v1/web/comment/digg/\",\"/aweme/janus/creator/comment/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/web/comment/multi_delete/\",\"/aweme/v1/creator/comment/reply/\",\"/aweme/v1/creator/comment/action/\"],\"signVersion\":2}],\"6383\":[{\"aid\":6383,\"scene\":\"web_protect\",\"certType\":\"cookie\",\"consumerPathList\":[\"/aweme/v1/web/comment/list/reply/\",\"/aweme/v1/web/comment/list/\",\"/aweme/v2/web/comment/list/reply/\"],\"signVersion\":2}]}},\"expire\":1773163948898}"}, {"name": "__tea_sdk_ab_version_2906", "value": "{\"ab_version\":[\"90613695\",\"90112463\",\"90111556\"],\"ab_ext_version\":[],\"ab_version_multilink\":[],\"data\":{\"ai_gen_cover\":{\"val\":1,\"vid\":\"15080732\"},\"assistantImage\":{\"val\":1,\"vid\":\"90116780\"},\"chapter_recommend_after_publish\":{\"val\":0,\"vid\":\"14187473\"},\"chapter_sync_reach\":{\"val\":1,\"vid\":\"91050166\"},\"chapter_video_status\":{\"val\":2,\"vid\":\"90953361\"},\"co_create_new_role\":{\"val\":true,\"vid\":\"90611581\"},\"collection_enable_set_secret_status\":{\"val\":1,\"vid\":\"90124858\"},\"cover_editor_interaction_opti\":{\"val\":2,\"vid\":\"90599399\"},\"cover_filling_rate_increase_all\":{\"val\":1,\"vid\":\"15074841\"},\"cover_h265_ffmpeg_capture\":{\"val\":true,\"vid\":\"90166065\"},\"creatorDynamicConfigV3\":{\"val\":{\"dynamicSliceRule\":{\"highSize\":10485760,\"lowNormalThreshold\":200,\"lowSize\":3145728,\"normalHighThreshold\":400,\"normalSize\":5242880},\"enableDynamicSlice\":true,\"enableDynamicSliceMinFileSize\":52428800,\"enableRouteSelect\":false},\"vid\":\"91210179\"},\"creator_comment_manage\":{\"val\":1,\"vid\":\"90613695\"},\"creator_danmaku_manage\":{\"val\":{\"menus_show\":1},\"vid\":\"90118007\"},\"creator_data_bullet_analysis\":{\"val\":{\"bullet_analysis_tab_show\":2},\"vid\":\"90128271\"},\"creator_data_new\":{\"val\":true,\"vid\":\"90081040\"},\"creator_data_progress_analysis\":{\"val\":{\"fans_analysis_tab_show\":1},\"vid\":\"90128191\"},\"creator_pc\":{\"val\":{\"tab_ab_show_new_home\":1},\"vid\":\"90109488\"},\"creator_pc_1_3_intell_chapter\":{\"val\":1,\"vid\":\"90122502\"},\"creator_pc_clip\":{\"val\":{\"capcut\":1},\"vid\":\"90119963\"},\"creator_pc_cover_min_size\":{\"val\":2,\"vid\":\"90126311\"},\"creator_pc_data_center\":{\"val\":{\"is_new_live_content\":1},\"vid\":\"90111860\"},\"creator_pc_data_center_new_list\":{\"val\":1,\"vid\":\"90625082\"},\"creator_pc_game_mounted_anchor_reedit\":{\"val\":1,\"vid\":\"90122407\"},\"creator_pc_game_mounted_anchor_revision_v2\":{\"val\":2,\"vid\":\"90125303\"},\"creator_pc_game_mounted_game_activity_profit\":{\"val\":3,\"vid\":\"90127201\"},\"creator_pc_home\":{\"val\":{\"interactive_show_type\":2},\"vid\":\"90111556\"},\"creator_pc_image_music_optimization\":{\"val\":1,\"vid\":\"90962255\"},\"creator_pc_mission\":{\"val\":{\"visible\":1},\"vid\":\"90112463\"},\"creator_pc_modify_item_entrance\":{\"val\":1,\"vid\":\"90128660\"},\"creator_pc_new_cover_text\":{\"val\":true,\"vid\":\"90125008\"},\"creator_pc_org\":{\"val\":{\"new_org\":1},\"vid\":\"90123271\"},\"creator_pc_org_home\":{\"val\":{\"new_home\":1},\"vid\":\"90112354\"},\"creator_pc_recommend_cover_opt\":{\"val\":true,\"vid\":\"90127437\"},\"creator_pc_tab_ab\":{\"val\":{\"account_show\":2},\"vid\":\"90092974\"},\"creator_pc_upload_cancel_btn\":{\"val\":0,\"vid\":\"90173282\"},\"creator_pc_upload_progress_detail\":{\"val\":1,\"vid\":\"90173281\"},\"creator_pc_video_music_optimization\":{\"val\":1,\"vid\":\"90945842\"},\"creator_pc_video_quality_intro\":{\"val\":2,\"vid\":\"91037348\"},\"creator_pc_work_detail_version\":{\"val\":1,\"vid\":\"90356254\"},\"creator_publish_cover_check\":{\"val\":1,\"vid\":\"90122334\"},\"creator_school_nav\":{\"val\":{\"nav_type\":1},\"vid\":\"90081895\"},\"creator_upload_async\":{\"val\":1,\"vid\":\"90324260\"},\"creator_upload_cancel\":{\"val\":1,\"vid\":\"90124601\"},\"creator_uploader_tos_direct\":{\"val\":1,\"vid\":\"90126365\"},\"data_cover_rate\":{\"val\":{\"is_show_cover_rate\":true},\"vid\":\"90121311\"},\"dict\":{\"val\":{\"canShowUserDeclaration\":true},\"vid\":\"90114001\"},\"douyin_cover_imagelayer_editable\":{\"val\":true,\"vid\":\"90111484\"},\"douyin_outer_progress_enbale\":{\"val\":1,\"vid\":\"90118893\"},\"douyin_pc_creator_image_text\":{\"val\":true,\"vid\":\"90093311\"},\"download_frame_limit\":{\"val\":3,\"vid\":\"91217036\"},\"editor_filter\":{\"val\":true,\"vid\":\"90122909\"},\"enableChapterSelfMade\":{\"val\":1,\"vid\":\"90940916\"},\"enhance_cover_check_dual\":{\"val\":1,\"vid\":\"90906860\"},\"is_new_loki\":{\"val\":1,\"vid\":\"90975626\"},\"is_show_pc_content_analysis\":{\"val\":{\"enabled\":1},\"vid\":\"90118423\"},\"is_show_tagged_page\":{\"val\":true,\"vid\":\"90992719\"},\"limit_recommend_cover_local\":{\"val\":true,\"vid\":\"91283345\"},\"maxReadConcurrent\":{\"val\":5,\"vid\":\"91210181\"},\"openReadConcurrent\":{\"val\":true,\"vid\":\"91210180\"},\"publish_layout\":{\"val\":2,\"vid\":\"91020340\"},\"quick_fill\":{\"val\":true,\"vid\":\"90997687\"},\"recommend_chapter_async_link\":{\"val\":1,\"vid\":\"90129292\"},\"refine_cover_tool\":{\"val\":2,\"vid\":\"90120266\"},\"show_activity_tag\":{\"val\":true,\"vid\":\"90102355\"},\"show_info\":{\"val\":1,\"vid\":\"90126292\"},\"show_intellect_chapter_entry\":{\"val\":1,\"vid\":\"90094899\"},\"slardar_filter\":{\"val\":true,\"vid\":\"90122697\"},\"table_tab\":{\"val\":\"contribute\",\"vid\":\"90094565\"},\"test\":{\"val\":true,\"vid\":\"90082519\"},\"title_permission_new\":{\"val\":1,\"vid\":\"90111481\"},\"use_new_player\":{\"val\":true,\"vid\":\"91048272\"},\"vertical_video_double_cover\":{\"val\":1,\"vid\":\"91234029\"}},\"timestamp\":1773142386358,\"uuid\":\"95519194897\"}"}, {"name": "security-sdk/s_sdk_server_cert_key", "value": "{\"cert\":\"-----BEGIN CERTIFICATE-----\\nMIIEfTCCBCKgAwIBAgIUXWdS2tzmSoewCWfKFyiWMrJqs/0wCgYIKoZIzj0EAwIw\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\nNTYwIBcNMjIxMTE4MDUyMDA2WhgPMjA2OTEyMzExNjAwMDBaMCQxCzAJBgNVBAYT\\nAkNOMRUwEwYDVQQDEwxlY2llcy1zZXJ2ZXIwWTATBgcqhkjOPQIBBggqhkjOPQMB\\nBwNCAASE2llDPlfc8Rq+5J5HXhg4edFjPnCF3Ua7JBoiE/foP9m7L5ELIcvxCgEx\\naRCHbQ8kCCK/ArZ4FX/qCobZAkToo4IDITCCAx0wDgYDVR0PAQH/BAQDAgWgMDEG\\nA1UdJQQqMCgGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwME\\nMCkGA1UdDgQiBCABydxqGrVEHhtkCWTb/vicGpDZPFPDxv82wiuywUlkBDArBgNV\\nHSMEJDAigCAypWfqjmRIEo3MTk1Ae3MUm0dtU3qk0YDXeZSXeyJHgzCCAZQGCCsG\\nAQUFBwEBBIIBhjCCAYIwRgYIKwYBBQUHMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL29jc3AwRgYIKwYBBQUH\\nMAGGOmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\ncnRpZmljYXRlL29jc3AwdwYIKwYBBQUHMAKGa2h0dHA6Ly9uZXh1cy1wcm9kdWN0\\naW9uLmJ5dGVkYW5jZS5jb20vYXBpL2NlcnRpZmljYXRlL2Rvd25sb2FkLzQ4RjlD\\nMEU3QjBDNUE3MDVCOTgyQkU1NTE3MDVGNjQ1QzhDODc4QTguY3J0MHcGCCsGAQUF\\nBzAChmtodHRwOi8vbmV4dXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UubmV0L2FwaS9j\\nZXJ0aWZpY2F0ZS9kb3dubG9hZC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1\\nRjY0NUM4Qzg3OEE4LmNydDCB5wYDVR0fBIHfMIHcMGygaqBohmZodHRwOi8vbmV4\\ndXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UuY29tL2FwaS9jZXJ0aWZpY2F0ZS9jcmwv\\nNDhGOUMwRTdCMEM1QTcwNUI5ODJCRTU1MTcwNUY2NDVDOEM4NzhBOC5jcmwwbKBq\\noGiGZmh0dHA6Ly9uZXh1cy1wcm9kdWN0aW9uLmJ5dGVkYW5jZS5uZXQvYXBpL2Nl\\ncnRpZmljYXRlL2NybC80OEY5QzBFN0IwQzVBNzA1Qjk4MkJFNTUxNzA1RjY0NUM4\\nQzg3OEE4LmNybDAKBggqhkjOPQQDAgNJADBGAiEAqMjT5ADMdGMeaImoJK4J9jzE\\nLqZ573rNjsT3k14pK50CIQCLpWHVKWi71qqqrMjiSDvUhpyO1DpTPRHlavPRuaNm\\nww==\\n-----END CERTIFICATE-----\",\"sn\":\"533240336124694022040808462028007165443034493949\",\"createdTime\":1773142349607}"}, {"name": "__tea_cache_first_1661", "value": "1"}, {"name": "SLARDARdouyin_creator", "value": "JTdCJTIydXNlcklkJTIyOiUyMjk1NTE5MTk0ODk3JTIyLCUyMmRldmljZUlkJTIyOiUyMjc5YTU3MGY4LThiOWItNGIyZi1hYjc0LTY2ZTJiYmFlMjE5MCUyMiwlMjJleHBpcmVzJTIyOjE3ODA5MTgzODU1MjklN0Q="}, {"name": "__tea_cache_first_408314", "value": "1"}, {"name": "https://creator.douyin.com-operation", "value": "false"}, {"name": "security-sdk/s_sdk_pub_key", "value": "{\"key\":\"security-sdk/s_sdk_pub_key\",\"data\":\"-----BEGIN PUBLIC KEY-----\\r\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHfp9romhovn9n3BjPfStmf517g6q\\r\\nWvGnBK1QrQzgS9xaORDmRcMyoCn5HsmMHglCdCajDGkSJKqzi3RCS8odoA==\\r\\n-----END PUBLIC KEY-----\\r\\n\",\"createTime\":1773142386782,\"expireTime\":4102444799000}"}, {"name": "__tea_cache_tokens_408314", "value": "{\"web_id\":\"7615588496108144166\",\"user_unique_id\":\"7615588496108144166\",\"timestamp\":1773142386622,\"_type_\":\"default\"}"}, {"name": "security-sdk/s_sdk_cert_key", "value": "{\"key\":\"security-sdk/s_sdk_cert_key\",\"data\":\"-----BEGIN CERTIFICATE-----\\nMIICFzCCAb6gAwIBAgIUBvEE6gh0mASp9XEhGJt3m0Hg3F4wCgYIKoZIzj0EAwIw\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\nNTYwHhcNMjYwMzEwMTEzMzA3WhcNMzYwMzEwMTkzMzA3WjAnMQswCQYDVQQGEwJD\\nTjEYMBYGA1UEAwwPYmRfdGlja2V0X2d1YXJkMFkwEwYHKoZIzj0CAQYIKoZIzj0D\\nAQcDQgAEHfp9romhovn9n3BjPfStmf517g6qWvGnBK1QrQzgS9xaORDmRcMyoCn5\\nHsmMHglCdCajDGkSJKqzi3RCS8odoKOBvTCBujAOBgNVHQ8BAf8EBAMCBaAwMQYD\\nVR0lBCowKAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUHAwQw\\nKQYDVR0OBCIEIE2FFJxIVTZ4Yo7udetfySiydod5BdNa9BsEEbCMR+ziMCsGA1Ud\\nIwQkMCKAIDKlZ+qOZEgSjcxOTUB7cxSbR21TeqTRgNd5lJd7IkeDMB0GA1UdEQQW\\nMBSCEmNyZWF0b3IuZG91eWluLmNvbTAKBggqhkjOPQQDAgNHADBEAiB+oo0urxKp\\nvmwZcyqDxBRBqyvjsory1stxYbKkEDYKsAIgKdnnf3KNP58nkIxtFabZdg1nv72v\\n1C8QomPBy3FdYWY=\\n-----END CERTIFICATE-----\\n\",\"createTime\":1773142386967,\"expireTime\":4102444799000}"}, {"name": "__tea_cache_tokens_1661", "value": "{\"web_id\":\"1170910881415747141\",\"user_unique_id\":\"95519194897\",\"timestamp\":1773142385626,\"_type_\":\"default\"}"}, {"name": "=^_^=athena_web_id", "value": "fc0fe62c-7e37-4810-84c9-00c91235124c"}, {"name": "SLARDARmfa_web", "value": "JTdCJTIydXNlcklkJTIyOiUyMjBiNTFjNjIwLTRmYjgtNDY0Ni05MTYyLWUzMGU1NTljOTM2MiUyMiwlMjJkZXZpY2VJZCUyMjolMjI2YTA4M2M1OS03ODU1LTRkODctYTAxNC05YmVlOGE0ZDBmYWMlMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4MzY4MzYzJTdE"}, {"name": "security-sdk/s_sdk_crypt_sdk", "value": "{\"data\":\"{\\\"ec_privateKey\\\":\\\"-----BEGIN PRIVATE KEY-----\\\\r\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgALKVtFqi9XuFLRJc\\\\r\\\\nw3yBSXkJvoOVMia68I1muNY5GgmhRANCAAQGcr3/bFabfpjsku06pRW1IPeFHVF/\\\\r\\\\nQnRihiopsRryhMphO+YFW7Jb/b/B0Shl+t6RduN4OFTUH6+qU9No+MaQ\\\\r\\\\n-----END PRIVATE KEY-----\\\\r\\\\n\\\",\\\"ec_publicKey\\\":\\\"-----BEGIN PUBLIC KEY-----\\\\r\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBnK9/2xWm36Y7JLtOqUVtSD3hR1R\\\\r\\\\nf0J0YoYqKbEa8oTKYTvmBVuyW/2/wdEoZfrekXbjeDhU1B+vqlPTaPjGkA==\\\\r\\\\n-----END PUBLIC KEY-----\\\\r\\\\n\\\",\\\"ec_csr\\\":\\\"\\\"}\"}"}, {"name": "__tea_cache_tokens_2906", "value": "{\"user_unique_id\":\"95519194897\",\"web_id\":\"7615588322623555124\",\"timestamp\":1773142386141,\"_type_\":\"default\"}"}, {"name": "__tea_cache_first_5231", "value": "1"}, {"name": "security-sdk/s_sdk_pri_key", "value": "{\"key\":\"security-sdk/s_sdk_pri_key\",\"data\":\"-----BEGIN PRIVATE KEY-----\\r\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgqf7MoAKuOTsVdHa8\\r\\nb4a73hiyoH+MTFWqnH+s0BJR6zChRANCAAQd+n2uiaGi+f2fcGM99K2Z/nXuDqpa\\r\\n8acErVCtDOBL3Fo5EOZFwzKgKfkeyYweCUJ0JqMMaRIkqrOLdEJLyh2g\\r\\n-----END PRIVATE KEY-----\\r\\n\",\"createTime\":1773142386782,\"expireTime\":4102444799000}"}, {"name": "xmst", "value": "87S5TVId_WYBhu8z3PbyaPRu6mfvitisXbORylR2-qv4Ku9Rj14QRaFIuyaE0vK0TzfeKIjdX9CKYFRSVNH0jdVHJKmqaeF7mVPScAV-gowLYY_c6j-W928l6aF6VX0i5mCEP6_rAEHt_jLFomjgzwwBpdflKpJWRTA5J3A2Q7OBRETOTfD5VkwI"}, {"name": "security-sdk/s_sdk_sign_data_key/web_protect", "value": "{\"data\":\"{\\\"ticket\\\":\\\"hash.PqHTVb1frBB9JY1DfpUuyJrw8/nT/HTLb27s8zPGvic=\\\",\\\"ts_sign\\\":\\\"ts.2.98c4f8ce29ec121fd45de21b1e343ec45f2087f8792ba80d398b87808ae7ebcfc4fbe87d2319cf05318624ceda14911ca406dedbebeddb2e30fce8d4fa02575d\\\",\\\"client_cert\\\":\\\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\\\",\\\"log_id\\\":\\\"20260310193304EA60F4613BBFF71EBD5B\\\",\\\"create_time\\\":1773142385}\"}"}, {"name": "SLARDARuc_secure_sdk", "value": "JTdCJTIydXNlcklkJTIyOiUyMjZlNWM0MDZlLTE1OTUtNGE2Mi05NWRjLThmMjY5ZDllMTYwYSUyMiwlMjJkZXZpY2VJZCUyMjolMjI3MDgwZDQxNC04N2MyLTRjNWQtYjk3YS02ZjE1N2ZmZWJjNzclMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4Mzg1NjIxJTdE"}, {"name": "douyin_creator_master_performance_level", "value": "{}"}, {"name": "security-sdk/s_sdk_sign_data_key/token", "value": "{\"key\":\"security-sdk/s_sdk_sign_data_key/token\",\"data\":\"{\\\"ts_sign\\\":\\\"#2ZSpr1ZKJDEhwxvqlDA8noHix4sx1rn85KRAOuj2lvfws9cS5r4LIS0PvbeAcAlLP2m9LmucN+m9Lb3bYVprRSoBKJmZzYr613qoB8h4J4uC1Xs+pMwF+q8Ikjv/D/Kt4YVMXkQLKyLIRQqEALMl1MLFyr8MBSYHt6k+65Vg4/64KYRH7KMRdkBaormSKXMXc2ghnyBpa79FUK2xSErFNkPaz0N17aTeREZhGWw037gqwZoEcD8z5oCbNli8Y0KLPdbqII3sYwBbwQoxaqRlr4BGjZsUb3UmRLPfKP8mXkzIet2LLCAqbdBWVOpFPtUDSQkfDsWbDQlaTDBWX/UnOxvDcrfq1Iyh4CwDgCE5+5JuSFVUTg8A+dJAcujC/UC6Tab47JyHRNSXtYWviJ5zUs1+mlHt/T8GpFA6meAmAilZsxeKt3bajGVOcth5gsViz1Er4XlXRF0WBzvc6KIB5kMa3Ce80PT+06hO4yR/TIIt8nQE60RTZAK/tcovfnxHb2kWAnL+FfGREA83YB8O1v4ZRendeukWN0X89rEsAckyrFu9bZt7FD7i7MdSyk3UOXA5pj5UTz77tI/p01N5urqO0jUtBanUg4xjGb/eQxDDokmB1+POlOO5UMOLmDe7JrxgB73JxBMM/pa53PpWCfJN8SIMQMfNqMYcvuemvOrID/16wFXpIXRf4F4xTpPRBTk2zDLaANZK7zXIT/bd6d34Sk3wvkcnQTCLuoMFCulLDaDDxBulhwD/QdgjdoaE5duVkRQ8915s2OJjEW7qLoDGvVtVY2tnDObqzKmhNHXvDl3yxlyRdIcsyBnKsXL+hu/LTRRiVX63PD2HAuh4Qzh8w9Wndf1VDQso5JYjWitsV5kDM0n95OiQLUTvCJB2z6C82m4jO3JnNaVGSErfO0/aP0/YAD1hL/J6pD9Wh2tx4DWDa/Ho+U/01XH5k/l7ypV7dmLUdbmdin6c4HleqdCWClSnfPgtUnglrT2sbApV/w5NKmuEPiwylVTsfWcjGB7mtGO2TGFpceD4BN3U25SLQSdgcsznkU91bWtUzw1tFEkQoZKfmg8o+urVxE8+ZJu9q9bCqxs+J5jUd6CJl4wQlqNN9yIjcUdaw5RbOHKZ9mgA+5HNcgaqcX0HZ6Cyu9mKpl1BNQSks9xi/DLzDdD5q5JU9TVRBFl+9iSrZ7eAxhvKeSQrngQI1lzHMW5Gc3/WWY88xlv0SZwhMjWooRyJ9fI6mcvxU10xNSqtZHcATAjrw1Yjuip6\\\",\\\"ticket\\\":\\\"YSHGAwEBBwECBEBuoXwBZwFVwKrwoFBCQQa6lFUrUQ7LpCsCQkPAk2IFM4lsF/nPOIBNKklQqK+Ua4Tix/gXuTfxhSpsgh+d4YY3rypM7ON794TrWoC29ViefPTJFGpfaht76QBS4A==\\\",\\\"client_cert\\\":\\\"-----BEGIN CERTIFICATE-----\\\\nMIICFzCCAb6gAwIBAgIUBvEE6gh0mASp9XEhGJt3m0Hg3F4wCgYIKoZIzj0EAwIw\\\\nMTELMAkGA1UEBhMCQ04xIjAgBgNVBAMMGXRpY2tldF9ndWFyZF9jYV9lY2RzYV8y\\\\nNTYwHhcNMjYwMzEwMTEzMzA3WhcNMzYwMzEwMTkzMzA3WjAnMQswCQYDVQQGEwJD\\\\nTjEYMBYGA1UEAwwPYmRfdGlja2V0X2d1YXJkMFkwEwYHKoZIzj0CAQYIKoZIzj0D\\\\nAQcDQgAEHfp9romhovn9n3BjPfStmf517g6qWvGnBK1QrQzgS9xaORDmRcMyoCn5\\\\nHsmMHglCdCajDGkSJKqzi3RCS8odoKOBvTCBujAOBgNVHQ8BAf8EBAMCBaAwMQYD\\\\nVR0lBCowKAYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAwYIKwYBBQUHAwQw\\\\nKQYDVR0OBCIEIE2FFJxIVTZ4Yo7udetfySiydod5BdNa9BsEEbCMR+ziMCsGA1Ud\\\\nIwQkMCKAIDKlZ+qOZEgSjcxOTUB7cxSbR21TeqTRgNd5lJd7IkeDMB0GA1UdEQQW\\\\nMBSCEmNyZWF0b3IuZG91eWluLmNvbTAKBggqhkjOPQQDAgNHADBEAiB+oo0urxKp\\\\nvmwZcyqDxBRBqyvjsory1stxYbKkEDYKsAIgKdnnf3KNP58nkIxtFabZdg1nv72v\\\\n1C8QomPBy3FdYWY=\\\\n-----END CERTIFICATE-----\\\\n\\\"}\",\"createTime\":1773142386967,\"expireTime\":4102444799000}"}]}, {"origin": "https://lf-zt.douyin.com", "localStorage": [{"name": "security-sdk/s_sdk_cert_key", "value": "{\"data\":\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\"}"}, {"name": "security-sdk/s_sdk_sign_data_key/web_protect", "value": "{\"data\":\"{\\\"ticket\\\":\\\"hash.PqHTVb1frBB9JY1DfpUuyJrw8/nT/HTLb27s8zPGvic=\\\",\\\"ts_sign\\\":\\\"ts.2.98c4f8ce29ec121fd45de21b1e343ec45f2087f8792ba80d398b87808ae7ebcfc4fbe87d2319cf05318624ceda14911ca406dedbebeddb2e30fce8d4fa02575d\\\",\\\"client_cert\\\":\\\"pub.BAZyvf9sVpt+mOyS7TqlFbUg94UdUX9CdGKGKimxGvKEymE75gVbslv9v8HRKGX63pF243g4VNQfr6pT02j4xpA=\\\",\\\"log_id\\\":\\\"20260310193304EA60F4613BBFF71EBD5B\\\",\\\"create_time\\\":1773142385}\"}"}, {"name": "security-sdk/s_sdk_crypt_sdk", "value": "{\"data\":\"{\\\"ec_privateKey\\\":\\\"-----BEGIN PRIVATE KEY-----\\\\r\\\\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgALKVtFqi9XuFLRJc\\\\r\\\\nw3yBSXkJvoOVMia68I1muNY5GgmhRANCAAQGcr3/bFabfpjsku06pRW1IPeFHVF/\\\\r\\\\nQnRihiopsRryhMphO+YFW7Jb/b/B0Shl+t6RduN4OFTUH6+qU9No+MaQ\\\\r\\\\n-----END PRIVATE KEY-----\\\\r\\\\n\\\",\\\"ec_publicKey\\\":\\\"-----BEGIN PUBLIC KEY-----\\\\r\\\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBnK9/2xWm36Y7JLtOqUVtSD3hR1R\\\\r\\\\nf0J0YoYqKbEa8oTKYTvmBVuyW/2/wdEoZfrekXbjeDhU1B+vqlPTaPjGkA==\\\\r\\\\n-----END PUBLIC KEY-----\\\\r\\\\n\\\",\\\"ec_csr\\\":\\\"\\\"}\"}"}]}, {"origin": "https://summon.bytedance.com", "localStorage": [{"name": "10001_24_show_service_window", "value": ""}, {"name": "SLARDARcard_factory", "value": "JTdCJTIydXNlcklkJTIyOiUyMjNlZTkzMjRhLWI1YTAtNDMwNS1hMDI5LTY3OWYxYjk5OWYxNyUyMiwlMjJkZXZpY2VJZCUyMjolMjJmOWVkMmQ3NC0yNDM1LTRhZjEtYjBmZC1mNzFkZDcxOWVmMDclMjIsJTIyZXhwaXJlcyUyMjoxNzgwOTE4Mzg3NTUyJTdE"}, {"name": "__tea_cache_refer_648684", "value": "{\"refer_key\":\"\",\"refer_title\":\"/web/\",\"refer_manual_key\":\"\",\"routeChange\":false}"}, {"name": "__tea_cache_tokens_648684", "value": "{\"web_id\":\"7615588531867797001\",\"user_unique_id\":\"7615588531867797001\",\"timestamp\":1773142387435,\"_type_\":\"default\"}"}, {"name": "__tea_cache_first_648684", "value": "1"}, {"name": "byted_im_tk", "value": "{\"1773142387352599\":\"a7010c0727c6c9dba27184c8730dd347\"}"}, {"name": "__tea_cache_first_2970", "value": "1"}, {"name": "__tea_cache_tokens_2970", "value": "{\"web_id\":\"7615588517405935130\",\"user_unique_id\":\"7615588517405935130\",\"timestamp\":1773142387407,\"_type_\":\"default\"}"}]}]} \ No newline at end of file diff --git a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_login.py b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_login.py new file mode 100644 index 00000000..6c691937 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_login.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python3 +""" +视频号纯 API 登录 — 无浏览器 +1. 调 auth_login_code 取 token +2. 用 token 拼 QR URL → 生成二维码图片 +3. 轮询 auth_login_status 直到扫码完成 +4. 保存 Cookie +""" +import asyncio +import json +import sys +import time +from pathlib import Path + +import httpx +import qrcode + +SCRIPT_DIR = Path(__file__).parent +COOKIE_FILE = SCRIPT_DIR / "channels_storage_state.json" +QR_IMAGE = Path("/tmp/channels_api_qr.png") + +BASE = "https://channels.weixin.qq.com" +HEADERS = { + "User-Agent": ( + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" + ), + "Origin": BASE, + "Referer": f"{BASE}/login.html", + "Content-Type": "application/json", +} + + +def api_login(): + client = httpx.Client(headers=HEADERS, follow_redirects=True, timeout=15) + + # Step 1: 获取登录 token + print("[1] 获取登录 token...", flush=True) + r = client.post(f"{BASE}/cgi-bin/mmfinderassistant-bin/auth/auth_login_code", json={}) + d = r.json() + if d.get("errCode") != 0: + print(f"[✗] auth_login_code 失败: {d}", flush=True) + return False + token = d["data"]["token"] + print(f" token = {token}", flush=True) + + # Step 2: 生成二维码 + # 视频号助手的扫码 URL 格式 + qr_url = f"{BASE}/cgi-bin/mmfinderassistant-bin/auth/auth_login_qrcode?token={token}" + print(f"[2] 生成二维码...", flush=True) + print(f" QR URL: {qr_url}", flush=True) + + img = qrcode.make(qr_url) + img.save(str(QR_IMAGE)) + print(f" 二维码已保存: {QR_IMAGE}", flush=True) + print(f"\n ★ 请用微信扫描 {QR_IMAGE} 中的二维码 ★\n", flush=True) + + # Step 3: 轮询登录状态 + print("[3] 等待扫码...", flush=True) + for i in range(60): + time.sleep(3) + + # 尝试多种参数格式 + for params in [ + {"token": token}, + {"loginCode": token}, + {"rawUrl": qr_url}, + ]: + try: + r2 = client.post( + f"{BASE}/cgi-bin/mmfinderassistant-bin/auth/auth_login_status", + json=params, + ) + d2 = r2.json() + code = d2.get("errCode", -1) + + if code == 0: + print(f"\n[✓] 登录成功!", flush=True) + # 提取 cookies + cookies = dict(client.cookies) + # 也检查 response headers 的 set-cookie + for resp_cookie in r2.cookies: + cookies[resp_cookie.name] = resp_cookie.value + print(f" Cookies: {list(cookies.keys())}", flush=True) + _save_cookies(cookies) + return True + + if code != 10008: # 10008 = param error, try next format + break + except Exception: + pass + + # 也尝试 GET + try: + r3 = client.get( + f"{BASE}/cgi-bin/mmfinderassistant-bin/auth/auth_login_status?token={token}" + ) + d3 = r3.json() + if d3.get("errCode") == 0: + print(f"\n[✓] 登录成功!(GET)", flush=True) + cookies = dict(client.cookies) + for resp_cookie in r3.cookies: + cookies[resp_cookie.name] = resp_cookie.value + print(f" Cookies: {list(cookies.keys())}", flush=True) + _save_cookies(cookies) + return True + except Exception: + pass + + # 尝试直接访问需要登录的页面看看 cookie 是否已设置 + try: + r4 = client.get(f"{BASE}/platform/post/list") + if "platform" in str(r4.url) and "login" not in str(r4.url): + print(f"\n[✓] 检测到已登录!(redirect check)", flush=True) + cookies = dict(client.cookies) + print(f" Cookies: {list(cookies.keys())}", flush=True) + if "sessionid" in cookies: + _save_cookies(cookies) + return True + except Exception: + pass + + if i % 5 == 0: + print(f" 等待中... ({i * 3}s)", flush=True) + + print("[✗] 3 分钟超时", flush=True) + return False + + +def _save_cookies(cookies_dict: dict): + """保存为 Playwright storage_state 格式(兼容 publish 脚本)""" + pw_cookies = [] + for name, value in cookies_dict.items(): + pw_cookies.append({ + "name": name, + "value": value, + "domain": "channels.weixin.qq.com", + "path": "/", + "expires": -1, + "httpOnly": False, + "secure": True, + "sameSite": "None", + }) + state = {"cookies": pw_cookies, "origins": []} + COOKIE_FILE.write_text(json.dumps(state, ensure_ascii=False, indent=2)) + print(f" Cookie 已保存: {COOKIE_FILE} ({len(pw_cookies)} 个)", flush=True) + + +if __name__ == "__main__": + ok = api_login() + sys.exit(0 if ok else 1) diff --git a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_publish.py b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_publish.py new file mode 100644 index 00000000..2681aad9 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_api_publish.py @@ -0,0 +1,340 @@ +#!/usr/bin/env python3 +""" +视频号纯 API 发布 — 无浏览器 +流程: 读 Cookie → 上传视频(分片) → 发布 → 验证 +""" +import asyncio +import hashlib +import json +import math +import sys +import time +from pathlib import Path + +import httpx + +SCRIPT_DIR = Path(__file__).parent +COOKIE_FILE = SCRIPT_DIR / "channels_storage_state.json" +VIDEO_DIR = Path("/Users/karuo/Movies/soul视频/soul 派对 119场 20260309_output/成片") + +sys.path.insert(0, str(SCRIPT_DIR.parent.parent / "多平台分发" / "脚本")) +from publish_result import PublishResult, is_published, save_results, print_summary + +BASE = "https://channels.weixin.qq.com" +UPLOAD_BASE = "https://finder-assistant.mp.video.tencent-cloud.com" +CHUNK_SIZE = 8 * 1024 * 1024 # 8MB + +UA = ( + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" +) + +TITLES = { + "早起不是为了开派对,是不吵老婆睡觉.mp4": + "每天6点起床不是因为自律,是因为老婆还在睡 #Soul派对 #创业日记", + "懒人的活法 动作简单有利可图正反馈.mp4": + "懒人也能赚钱?动作简单、有利可图、正反馈 #Soul派对 #副业思维", + "初期团队先找两个IS,比钱好使 ENFJ链接人,ENTJ指挥.mp4": + "创业初期先找两个IS型人格,比融资好使十倍 #MBTI创业 #团队搭建", + "ICU出来一年多 活着要在互联网上留下东西.mp4": + "ICU出来一年多,活着就要在互联网上留下东西 #人生感悟 #创业觉醒", + "MBTI疗愈SOUL 年轻人测MBTI,40到60岁走五行八卦.mp4": + "20岁测MBTI,40岁该学五行八卦了 #MBTI #认知觉醒", + "Soul业务模型 派对+切片+小程序全链路.mp4": + "派对获客→AI切片→小程序变现,全链路拆解 #商业模式 #一人公司", + "Soul切片30秒到8分钟 AI半小时能剪10到30个.mp4": + "AI剪辑半小时出10到30条切片,内容工厂效率密码 #AI剪辑 #内容效率", + "刷牙听业务逻辑 Soul切片变现怎么跑.mp4": + "刷牙3分钟听完一套变现逻辑 #碎片创业 #副业逻辑", + "国学易经怎么学 两小时七七八八,召唤作者对话.mp4": + "易经两小时学个七七八八,关键是跟古人对话 #国学 #易经入门", + "广点通能投Soul了,1000曝光6到10块.mp4": + "广点通能投Soul了!1000次曝光只要6到10块 #广点通 #低成本获客", + "建立信任不是求来的 卖外挂发邮件三个月拿下德国总代.mp4": + "信任不是求来的,发三个月邮件拿下德国总代理 #销售思维 #信任建立", + "核心就两个字 筛选。能开派对坚持7天的人再谈.mp4": + "核心就两个字:筛选。能坚持7天的人才值得深聊 #筛选思维 #创业认知", + "睡眠不好?每天放下一件事,做减法.mp4": + "睡不好不是太累,是脑子装太多,每天做减法 #做减法 #心理健康", + "这套体系花了170万,但前端几十块就能参与.mp4": + "后端花170万搭体系,前端几十块就能参与 #商业认知 #体系思维", + "金融AI获客体系 后端30人沉淀12年,前端丢手机.mp4": + "后端30人沉淀12年,前端就丢个手机号 #AI获客 #系统思维", +} + + +def load_cookies() -> dict: + if not COOKIE_FILE.exists(): + return {} + state = json.loads(COOKIE_FILE.read_text()) + return {c["name"]: c["value"] for c in state.get("cookies", [])} + + +def _build_client(cookies: dict) -> httpx.Client: + return httpx.Client( + cookies=cookies, + headers={ + "User-Agent": UA, + "Origin": BASE, + "Referer": f"{BASE}/platform/post/create", + }, + follow_redirects=True, + timeout=120, + ) + + +def _api_post(client: httpx.Client, path: str, payload: dict | None = None) -> dict: + url = f"{BASE}/cgi-bin/mmfinderassistant-bin/{path}" + r = client.post(url, json=payload or {}) + return r.json() + + +def _file_md5(path: str) -> str: + h = hashlib.md5() + with open(path, "rb") as f: + for chunk in iter(lambda: f.read(8192), b""): + h.update(chunk) + return h.hexdigest() + + +def check_auth(client: httpx.Client) -> dict | None: + """验证 Cookie 有效性,返回用户信息""" + d = _api_post(client, "auth/auth_data") + if d.get("errCode") == 0: + return d.get("data", {}).get("finderUser", {}) + return None + + +def upload_video(client: httpx.Client, video_path: str) -> dict | None: + """上传视频到腾讯云,返回 media 信息""" + fpath = Path(video_path) + fsize = fpath.stat().st_size + fname = fpath.name + fmd5 = _file_md5(video_path) + n_parts = math.ceil(fsize / CHUNK_SIZE) + + print(f" [上传] {fname} ({fsize / 1024 / 1024:.1f}MB, {n_parts} 分片)", flush=True) + + # Step 1: Apply for upload + apply_payload = { + "mediaName": fname, + "mediaSize": fsize, + "mediaMd5": fmd5, + "mediaType": "video/mp4", + "chunkSize": CHUNK_SIZE, + } + r = client.post(f"{UPLOAD_BASE}/applyuploaddfs", json=apply_payload) + try: + d = r.json() + except Exception: + print(f" [上传] applyuploaddfs 失败: status={r.status_code} body={r.text[:200]}", flush=True) + return None + + if "data" not in d: + print(f" [上传] applyuploaddfs 无 data: {json.dumps(d, ensure_ascii=False)[:200]}", flush=True) + return None + + upload_id = d["data"].get("uploadId") or d["data"].get("UploadId") + if not upload_id: + print(f" [上传] 未获取到 uploadId: {json.dumps(d['data'], ensure_ascii=False)[:200]}", flush=True) + return None + + print(f" [上传] uploadId = {upload_id[:30]}...", flush=True) + + # Step 2: Upload parts + parts = [] + with open(video_path, "rb") as f: + for i in range(n_parts): + chunk = f.read(CHUNK_SIZE) + part_num = i + 1 + print(f" [上传] 分片 {part_num}/{n_parts} ({len(chunk) / 1024:.0f}KB)...", flush=True) + + r2 = client.post( + f"{UPLOAD_BASE}/uploadpartdfs", + data={"uploadId": upload_id, "partNumber": str(part_num)}, + files={"file": (fname, chunk, "application/octet-stream")}, + timeout=120, + ) + try: + d2 = r2.json() + etag = d2.get("data", {}).get("ETag") or d2.get("data", {}).get("etag") + if etag: + parts.append({"PartNumber": part_num, "ETag": etag}) + print(f" [上传] 分片 {part_num} 完成 (ETag={etag[:20]}...)", flush=True) + else: + print(f" [上传] 分片 {part_num} 无 ETag: {json.dumps(d2, ensure_ascii=False)[:150]}", flush=True) + except Exception: + print(f" [上传] 分片 {part_num} 失败: status={r2.status_code}", flush=True) + + if len(parts) != n_parts: + print(f" [上传] 分片不完整: {len(parts)}/{n_parts}", flush=True) + return None + + # Step 3: Complete upload + complete_payload = { + "uploadId": upload_id, + "partInfo": parts, + } + r3 = client.post(f"{UPLOAD_BASE}/completepartuploaddfs", json=complete_payload) + try: + d3 = r3.json() + media_url = d3.get("data", {}).get("httpsUrl") or d3.get("data", {}).get("DownloadURL") + if media_url: + print(f" [上传] 完成! URL = {media_url[:60]}...", flush=True) + return { + "url": media_url, + "uploadId": upload_id, + "md5": fmd5, + "size": fsize, + "parts": parts, + "completeResp": d3.get("data", {}), + } + else: + print(f" [上传] complete 无 URL: {json.dumps(d3, ensure_ascii=False)[:200]}", flush=True) + except Exception: + print(f" [上传] complete 失败: status={r3.status_code}", flush=True) + + return None + + +def publish_video(client: httpx.Client, media_info: dict, description: str) -> dict: + """调用发布 API""" + payload = { + "description": description, + "mediaInfo": media_info, + } + return _api_post(client, "helper/helper_video_publish", payload) + + +def verify_published(client: httpx.Client, title_keyword: str) -> bool: + """通过 post_list API 检查视频是否发布""" + d = _api_post(client, "post/post_list", {"currentPage": 1, "pageSize": 20}) + if d.get("errCode") != 0: + return False + posts = d.get("data", {}).get("list", []) + kw = title_keyword[:15] + for p in posts: + desc = p.get("desc", p.get("description", "")) + if kw in desc: + return True + return False + + +def publish_one( + video_path: str, + title: str, + idx: int = 1, + total: int = 1, + skip_dedup: bool = False, +) -> PublishResult: + fname = Path(video_path).name + fsize = Path(video_path).stat().st_size + t0 = time.time() + print(f"\n[{idx}/{total}] {fname} ({fsize / 1024 / 1024:.1f}MB)", flush=True) + print(f" 标题: {title[:60]}", flush=True) + + if not skip_dedup and is_published("视频号", video_path): + print(" [跳过] 已发布", flush=True) + return PublishResult( + platform="视频号", video_path=video_path, title=title, + success=True, status="skipped", message="去重跳过", + ) + + cookies = load_cookies() + if not cookies: + r = PublishResult( + platform="视频号", video_path=video_path, title=title, + success=False, status="error", message="Cookie 不存在,请先运行 channels_api_login.py", + ) + print(f" {r.log_line()}", flush=True) + return r + + client = _build_client(cookies) + + # 验证登录 + user = check_auth(client) + if not user: + r = PublishResult( + platform="视频号", video_path=video_path, title=title, + success=False, status="error", message="Cookie 已过期", + elapsed_sec=time.time() - t0, + ) + print(f" {r.log_line()}", flush=True) + return r + + # 上传 + media = upload_video(client, video_path) + if not media: + r = PublishResult( + platform="视频号", video_path=video_path, title=title, + success=False, status="error", message="视频上传失败", + elapsed_sec=time.time() - t0, + ) + print(f" {r.log_line()}", flush=True) + return r + + # 发布 + print(" [发布] 调用 helper_video_publish...", flush=True) + pub_result = publish_video(client, media, title) + pub_code = pub_result.get("errCode", -1) + print(f" [发布] errCode={pub_code}", flush=True) + + elapsed = time.time() - t0 + + if pub_code == 0: + r = PublishResult( + platform="视频号", video_path=video_path, title=title, + success=True, status="reviewing", + message=f"API 发布成功 (errCode=0)", + elapsed_sec=elapsed, + ) + else: + r = PublishResult( + platform="视频号", video_path=video_path, title=title, + success=False, status="error", + message=f"发布失败: {json.dumps(pub_result, ensure_ascii=False)[:120]}", + elapsed_sec=elapsed, + ) + + print(f" {r.log_line()}", flush=True) + return r + + +def main(): + cookies = load_cookies() + if not cookies: + print("[✗] Cookie 不存在,请先运行: python3 channels_api_login.py", flush=True) + return 1 + + client = _build_client(cookies) + user = check_auth(client) + if not user: + print("[✗] Cookie 已过期,请重新运行: python3 channels_api_login.py", flush=True) + return 1 + + print(f"[✓] 已登录: {user.get('nickname', '?')} (作品数: {user.get('feedsCount', '?')})", flush=True) + + videos = sorted(VIDEO_DIR.glob("*.mp4")) + if not videos: + print("[✗] 未找到视频", flush=True) + return 1 + print(f"共 {len(videos)} 条视频\n", flush=True) + + results = [] + for i, vp in enumerate(videos): + t = TITLES.get(vp.name, f"{vp.stem} #Soul派对 #创业日记") + r = publish_one(str(vp), t, i + 1, len(videos)) + results.append(r) + if r.status != "skipped": + save_results([r]) + if i < len(videos) - 1: + time.sleep(5) + + actual = [r for r in results if r.status != "skipped"] + print_summary(actual) + ok = sum(1 for r in actual if r.success) + return 0 if ok == len(actual) else 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_publish.py b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_publish.py index 255e2eb4..ee297e1f 100644 --- a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_publish.py +++ b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_publish.py @@ -1,8 +1,9 @@ #!/usr/bin/env python3 """ -视频号发布 v2 — API 响应拦截 + 列表验证 + 小程序挂载 -- 不再仅靠页面跳转判断成功;拦截 cgi-bin 响应 + 内容列表复核 -- 支持扩展链接挂载小程序 +视频号发布 v3 — headless Playwright + 描述写入修复 + 统一 Cookie +- API 响应拦截 + 列表验证双重确认 +- 描述通过 clipboard/insertText 写入(不依赖 contenteditable.fill) +- 所有描述追加 #小程序 卡若创业派对 """ import asyncio import json @@ -23,9 +24,7 @@ UA = ( "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" ) -MINIPROGRAM_APPID = "wxb8bbb2b10dec74aa" -MINIPROGRAM_TITLE = "Soul创业派对" -MINIPROGRAM_PAGE = "pages/read/read?mid=119" +DESC_SUFFIX = " #小程序 卡若创业派对" TITLES = { "早起不是为了开派对,是不吵老婆睡觉.mp4": @@ -130,60 +129,8 @@ async def _verify_on_list(page, title_keyword: str) -> tuple[bool, str]: return False, f"验证异常: {str(e)[:60]}" -async def _try_add_miniprogram(page) -> bool: - """Attempt to attach miniprogram via the publish-page UI.""" - try: - found = await page.evaluate("""() => { - const all = [...document.querySelectorAll('span, div, button, a, label')]; - for (const el of all) { - const t = el.textContent.trim(); - if ((t.includes('扩展链接') || t.includes('添加链接') || t === '短视频带货') - && el.offsetParent !== null) { - el.click(); - return 'clicked'; - } - } - return 'not_found'; - }""") - if found != "clicked": - print(" [小程序] 未找到「扩展链接」入口", flush=True) - return False - await asyncio.sleep(1.5) - mp_found = await page.evaluate("""() => { - const all = [...document.querySelectorAll('span, div, li, a')]; - for (const el of all) { - if (el.textContent.trim() === '小程序' && el.offsetParent !== null) { - el.click(); - return true; - } - } - return false; - }""") - if not mp_found: - print(" [小程序] 未找到「小程序」选项", flush=True) - return False - - await asyncio.sleep(1.5) - - await page.evaluate(f"""(appid) => {{ - const inputs = document.querySelectorAll('input[type="text"]'); - for (const inp of inputs) {{ - if (inp.placeholder && (inp.placeholder.includes('AppID') || inp.placeholder.includes('appid') - || inp.placeholder.includes('小程序'))) {{ - inp.value = appid; - inp.dispatchEvent(new Event('input', {{bubbles:true}})); - return; - }} - }} - }}""", MINIPROGRAM_APPID) - await asyncio.sleep(0.5) - print(" [小程序] 已尝试填入 AppID", flush=True) - return True - except Exception as e: - print(f" [小程序] 异常: {str(e)[:60]}", flush=True) - return False # --------------------------------------------------------------------------- @@ -256,12 +203,15 @@ async def publish_one( if "扫码" in body_text or "login" in page.url.lower(): await page.screenshot(path=ss("login")) await browser.close() - return PublishResult( + r = PublishResult( platform="视频号", video_path=video_path, title=title, success=False, status="error", message="Cookie 已过期(需重新扫码登录)", screenshot=ss("login"), + elapsed_sec=time.time() - t0, ) + print(f" {r.log_line()}", flush=True) + return r await page.screenshot(path=ss("1_page")) @@ -286,51 +236,46 @@ async def publish_one( if not upload_ok: await page.screenshot(path=ss("upload_timeout")) await browser.close() - return PublishResult( + r = PublishResult( platform="视频号", video_path=video_path, title=title, success=False, status="error", message="视频上传超时 (3 min)", screenshot=ss("upload_timeout"), + elapsed_sec=time.time() - t0, ) + print(f" {r.log_line()}", flush=True) + return r await asyncio.sleep(3) await page.screenshot(path=ss("2_uploaded")) # --- Step 3: fill description --- - print(" [3] 填写描述...", flush=True) - desc_filled = False - add_desc = page.locator("text=添加描述").first - if await add_desc.count() > 0: - await add_desc.click() - await asyncio.sleep(0.5) - active = page.locator('[contenteditable="true"]:visible').first - if await active.count() > 0: - await active.fill("") - await active.type(title, delay=15) - desc_filled = True - else: - await page.keyboard.type(title, delay=15) - desc_filled = True - if not desc_filled: - await page.evaluate( - """(title) => { - const els = document.querySelectorAll('[contenteditable="true"]'); - for (const el of els) { - if (el.offsetParent !== null) { - el.focus(); - el.textContent = title; - el.dispatchEvent(new Event('input', {bubbles:true})); - return; - } - } - }""", - title, - ) - await asyncio.sleep(0.5) + full_desc = title + DESC_SUFFIX + print(f" [3] 填写描述: {full_desc[:60]}...", flush=True) - # --- Step 3b: mini-program --- - print(" [3b] 尝试挂载小程序...", flush=True) - await _try_add_miniprogram(page) + editor = page.locator('.input-editor').first + if await editor.count() == 0: + editor = page.locator('[data-placeholder="添加描述"]').first + + if await editor.count() > 0: + await editor.fill(full_desc) + await asyncio.sleep(0.5) + written = await editor.inner_text() + if full_desc[:15] in written: + print(f" [3] 描述已确认: {written[:50]}...", flush=True) + else: + print(f" [3] fill() 后验证失败, 尝试 click+type...", flush=True) + await editor.click() + await asyncio.sleep(0.3) + await page.keyboard.press("Meta+A") + await page.keyboard.press("Backspace") + await page.keyboard.type(full_desc, delay=8) + await asyncio.sleep(0.5) + else: + print(" [3] ⚠ 未找到描述编辑器 (.input-editor)", flush=True) + + await asyncio.sleep(1) + await page.screenshot(path=ss("3_desc")) # --- Step 4: publish --- await page.evaluate("window.scrollTo(0, document.body.scrollHeight)") @@ -462,12 +407,14 @@ async def main(): t = TITLES.get(vp.name, f"{vp.stem} #Soul派对 #创业日记") r = await publish_one(str(vp), t, i + 1, len(videos)) results.append(r) + # 即时保存(防止中途崩溃丢失记录) + if r.status != "skipped": + save_results([r]) if i < len(videos) - 1: await asyncio.sleep(8) actual = [r for r in results if r.status != "skipped"] print_summary(actual) - save_results(actual) ok = sum(1 for r in actual if r.success) return 0 if ok == len(actual) else 1 diff --git a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_set_cookie.py b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_set_cookie.py new file mode 100644 index 00000000..a14ae321 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_set_cookie.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +""" +手动设置视频号 Cookie — 不开浏览器 + +用法: + python3 channels_set_cookie.py + +获取方式: + 1. 在任意浏览器打开 https://channels.weixin.qq.com 并登录 + 2. F12 → Application → Cookies → channels.weixin.qq.com + 3. 复制 sessionid 和 wxuin 的值 +""" +import json +import sys +from pathlib import Path + +import httpx + +COOKIE_FILE = Path(__file__).parent / "channels_storage_state.json" +BASE = "https://channels.weixin.qq.com" + + +def main(): + if len(sys.argv) < 3: + print("用法: python3 channels_set_cookie.py ") + print("\n获取方式:") + print(" 1. 浏览器打开 https://channels.weixin.qq.com 并登录") + print(" 2. F12 → Application → Cookies") + print(" 3. 复制 sessionid 和 wxuin 值") + return 1 + + sessionid = sys.argv[1] + wxuin = sys.argv[2] + + # 验证 + cookies = {"sessionid": sessionid, "wxuin": wxuin} + print("验证 Cookie...", flush=True) + r = httpx.post( + f"{BASE}/cgi-bin/mmfinderassistant-bin/auth/auth_data", + cookies=cookies, + headers={"User-Agent": "Mozilla/5.0"}, + json={}, + timeout=10, + ) + d = r.json() + if d.get("errCode") != 0: + print(f"[✗] Cookie 无效: errCode={d.get('errCode')} msg={d.get('errMsg')}") + return 1 + + user = d.get("data", {}).get("finderUser", {}) + print(f"[✓] 验证通过: {user.get('nickname', '?')} (作品: {user.get('feedsCount', '?')})") + + # 保存 + state = { + "cookies": [ + {"name": "sessionid", "value": sessionid, "domain": "channels.weixin.qq.com", + "path": "/", "expires": -1, "httpOnly": False, "secure": True, "sameSite": "None"}, + {"name": "wxuin", "value": wxuin, "domain": "channels.weixin.qq.com", + "path": "/", "expires": -1, "httpOnly": False, "secure": True, "sameSite": "None"}, + ], + "origins": [], + } + COOKIE_FILE.write_text(json.dumps(state, ensure_ascii=False, indent=2)) + print(f"[✓] Cookie 已保存: {COOKIE_FILE}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_storage_state.json b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_storage_state.json index d0ec5286..234a8fbc 100644 --- a/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_storage_state.json +++ b/03_卡木(木)/木叶_视频内容/视频号发布/脚本/channels_storage_state.json @@ -1 +1 @@ -{"cookies": [], "origins": [{"origin": "https://channels.weixin.qq.com", "localStorage": [{"name": "finder_uin", "value": ""}, {"name": "finder_username", "value": ""}, {"name": "__ml::page_a2945248-a213-419f-b103-98fa78154057", "value": "{\"pageId\":\"LoginForIframe\",\"accessId\":\"71ea9b14-abc9-41bb-887f-e822ce7b315e\",\"step\":1}"}, {"name": "__ml::hb_ts", "value": "1773129514036"}, {"name": "_finger_print_device_id", "value": "6fd704941768442b12a996d2652fc61e"}, {"name": "__rx::aid", "value": "\"7f6fe682-2f5d-4069-a11e-445db5405407\""}, {"name": "__ml::aid", "value": "\"7f6fe682-2f5d-4069-a11e-445db5405407\""}, {"name": "UvFirstReportLocalKey", "value": "1773072000000"}, {"name": "__ml::page", "value": "[\"a2945248-a213-419f-b103-98fa78154057\"]"}, {"name": "FINDER_HELPER_REDIRECT_PATH", "value": "/login"}, {"name": "finder_ua_report_data", "value": "{\"browser\":\"Chrome\",\"browserVersion\":\"143.0.0.0\",\"engine\":\"Webkit\",\"engineVersion\":\"537.36\",\"os\":\"Mac OS X\",\"osVersion\":\"10.15.7\",\"device\":\"desktop\",\"darkmode\":0}"}, {"name": "finder_route_meta", "value": "platform.login-for-iframe;index;2;1773129514776"}]}]} \ No newline at end of file +{"cookies": [{"name": "sessionid", "value": "BgAAlUekVXtrtxMKBuoTfHRptlfxmDAWjCoVppaDKWcrAiVDAycStUCN%2BkcYWkC786pzHlNnmrbJG1NkDrDjw1epdXydipxraFq1fqWAOIA%3D", "domain": "channels.weixin.qq.com", "path": "/", "expires": 1807693838.404647, "httpOnly": false, "secure": true, "sameSite": "None"}, {"name": "wxuin", "value": "1925733981", "domain": "channels.weixin.qq.com", "path": "/", "expires": 1807693838.404685, "httpOnly": false, "secure": true, "sameSite": "None"}], "origins": [{"origin": "https://channels.weixin.qq.com", "localStorage": [{"name": "finder_route_meta", "value": "micro.content/post/list;index;1;1773141612327"}, {"name": "__ml::page_1b6ac793-9e69-4b7f-80a9-c90657abe812", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"29b2dff0-4392-4cff-a3ca-38007e2d9d82\",\"step\":1}"}, {"name": "__ml::hb_ts", "value": "1773141610106"}, {"name": "__ml::page_5068654f-612b-432c-82df-efa8b523607c", "value": "{\"pageId\":\"PostList\",\"accessId\":\"21636bdc-ec0f-4122-b441-f7e96072d86b\",\"step\":1}"}, {"name": "__ml::page", "value": "[\"9a09a6d6-4002-441d-9718-6b994b70b154\",\"43076e31-8d43-44e1-8dc1-88ad32d1cd8d\",\"c25b15d2-cd8e-4c32-90db-4c029c3b8639\",\"5068654f-612b-432c-82df-efa8b523607c\",\"15e53632-af59-4089-8cc6-b894ab77a2c0\",\"ae72eda2-a035-425d-91bc-f32768f87116\",\"1b6ac793-9e69-4b7f-80a9-c90657abe812\",\"a5a7c0a5-8dcc-45a5-ae08-170229a01d72\",\"d4565cc8-7736-4a9e-a51e-d63567b74d4a\",\"9f9e6151-6673-443c-bdaf-a5a51dd14c76\",\"60c6de6f-afda-46f2-869a-efa00e270c74\",\"ddb97be4-31b9-4015-a3a3-d116344c68d7\",\"25521c1f-9042-41cb-af99-e54b9d066043\",\"fb038b00-6237-4295-ac40-e218458028ac\",\"5041c8b7-3cef-4e3a-9f5c-5e98c2ba4e07\",\"6dbbf7d2-1a71-40fc-a127-9d14be882b3e\",\"81da0042-a0e1-4c1f-890e-c0b02bd56357\",\"3e272b15-acf7-466b-b034-b5f5691e0af4\",\"d06b4931-7f4f-48fd-8766-c05a42290ec9\",\"5557e33b-6885-4403-9edc-e0ff708be6c4\"]"}, {"name": "__ml::page_ddb97be4-31b9-4015-a3a3-d116344c68d7", "value": "{\"pageId\":\"PostList\",\"accessId\":\"d5c253f9-f0b6-41e4-a0f6-25cef2b402cf\",\"step\":1}"}, {"name": "__ml::page_5557e33b-6885-4403-9edc-e0ff708be6c4", "value": "{\"pageId\":\"PostList\",\"accessId\":\"70c5432f-0f21-4c67-b8bb-90c21a4b6692\",\"step\":1}"}, {"name": "__ml::page_5041c8b7-3cef-4e3a-9f5c-5e98c2ba4e07", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"ad01a3d6-9719-45be-8038-49db5e846652\",\"step\":1}"}, {"name": "__ml::page_15e53632-af59-4089-8cc6-b894ab77a2c0", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"7f994b4b-e488-496e-8fed-1b740d2674d2\",\"step\":2,\"refAccessId\":\"ed17f637-55da-411d-bc63-b56190514eeb\",\"refPageId\":\"MicroPost\"}"}, {"name": "__ml::page_43076e31-8d43-44e1-8dc1-88ad32d1cd8d", "value": "{\"pageId\":\"PostList\",\"accessId\":\"2bc0cc08-4f80-4173-9621-5c202304493a\",\"step\":2,\"refAccessId\":\"615e9d8f-5866-476e-8d6a-539888a984b9\",\"refPageId\":\"PostCreate\"}"}, {"name": "__ml::page_3e272b15-acf7-466b-b034-b5f5691e0af4", "value": "{\"pageId\":\"PostList\",\"accessId\":\"648e091e-be95-4bd7-9f2a-da5a3f3fbec1\",\"step\":2,\"refAccessId\":\"17288ba3-b8c4-405a-b5ad-8518d42cd01f\",\"refPageId\":\"PostCreate\"}"}, {"name": "__ml::page_25521c1f-9042-41cb-af99-e54b9d066043", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"bffb8561-54fa-424f-862c-c81a2900f2cf\",\"step\":1}"}, {"name": "AssistantUploadedInfoStorageKey_3899420810", "value": "[{\"fileUploadedInfoKey\":\"\u91d1\u878dAI\u83b7\u5ba2\u4f53\u7cfb \u540e\u7aef30\u4eba\u6c89\u6dc012\u5e74\uff0c\u524d\u7aef\u4e22\u624b\u673a.mp4:1773049087899:13904487:video/mp4:cf94106b56208a5f60024854fd65c749\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":0,\"reqTime\":1773134417475,\"resTime\":1773134419978,\"cost\":2503,\"success\":true},{\"index\":1,\"reqTime\":1773134417500,\"resTime\":1773134419632,\"cost\":2132,\"success\":true}],\"uuid\":\"5ead770c-fcb7-4069-bd32-cf8632fb00ce\",\"uploadTaskId\":\"CkRmMDM2NTU1NTQzMDVmYjBkZmM3YmM1MTQyMWFjMThjZTQzZWQ2MDc5N2MzNjQxOGE4MGY5MTRiNDgxNWJkMDAwMzMwYxI+NTY5YWZlMjUxMDAwNzI0OWNlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzQ4MjFiMzUxZjE1NmEyM2NlY2Mw59TQBg==\",\"uploadTaskIdTimeStamp\":1773134417433,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"7aa7d5d4489b865e3fabba21d6441651e5affa44\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"0b210f5d82059972fd1356f41ebe3bbcc0fb4afd\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDo10woW6qVWuvF2I1kB1OPp2P3icKiaZ5zdLS4iaIsaxPDSvhIfDBgB3TyQukaRq52SDcRBGorELARBE3gV4iaLdV4&findertoken=088ae1b1c30e10d4c4bfcd061800223c66696e64657275706c6f616475726c5f333839393432303831305f313737333133343432303230355f363731353536363339363131303136333839362a2030376231363265623862393934663434346134383130623433313133663761303801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3m0vRDk192mTZ33MeiaxQib7YDnalS62h0yCYuWmkktgXbHzkIEibibvITjOJMcIFnkwS2ntZbqPiax4WRG7iawhdofnj6FPK6FqJdujw&uzid=7a152\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDo10woW6qVWuvF2I1kB1OPp2P3icKiaZ5zdLS4iaIsaxPDSvhIfDBgB3TyQukaRq52SDcRBGorELARBE3gV4iaLdV4&findertoken=088ae1b1c30e10d4c4bfcd061800223c66696e64657275706c6f616475726c5f333839393432303831305f313737333133343432303230355f363731353536363339363131303136333839362a2030376231363265623862393934663434346134383130623433313133663761303801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3m0vRDk192mTZ33MeiaxQib7YDnalS62h0yCYuWmkktgXbHzkIEibibvITjOJMcIFnkwS2ntZbqPiax4WRG7iawhdofnj6FPK6FqJdujw&uzid=7a152\"}}},{\"fileUploadedInfoKey\":\"Soul\u4e1a\u52a1\u6a21\u578b \u6d3e\u5bf9+\u5207\u7247+\u5c0f\u7a0b\u5e8f\u5168\u94fe\u8def.mp4:1773048030807:10740368:video/mp4:df3e1c8f513b0ffdc04cf7eb080270c0\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":1,\"reqTime\":1773137560040,\"resTime\":1773137561506,\"cost\":1466,\"success\":true},{\"index\":0,\"reqTime\":1773137560064,\"resTime\":1773137562555,\"cost\":2491,\"success\":true}],\"uuid\":\"68b74139-8a7c-4a66-9a27-6677ce1382bd\",\"uploadTaskId\":\"CkRjOGE2NTQ2ZWE2NDAwMzM0ZWY4Mzg2NGU4ZmJlMjcwNWUwYmFkNjVjZWE2NzQ4NTNhZDc0N2JiNzdiODFiZjAwYjAwYxI+NTY5YWZlZTk4MDAwMGFlNGFlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzQ4MjYyNDMxZjE1NmEzMThlNTMwkMWPBQ==\",\"uploadTaskIdTimeStamp\":1773137560015,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"40c859363f0a767ad6780fccc1d6cee1f7663140\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"119e98d6aa516d33b395ec2d37e3a60c3d50ec6a\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQBpmSZofeHicBbrUw5uO8r27DRibdR0XkZd8onpuKibWetSFUDX6RvNEFt5pqxhicTAadXFsnsgQ1Fdkk2cyFybF0W1&findertoken=088ae1b1c30e109addbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373536323830355f31373935353634333131323331303530323239312a2063636566316137663831383736373261383665373230366136656131306333663801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=AxricY7RBHdWAUGNYTIoDwuW5lw9ib9rAtwJnEqnQWyUsNxrzicWkDom9MSk7aGhdB80k4sxYtXKDc8te9WerPGcPzl3zM4WOyDImSbiabKmQ7G8vZrEn2NiaPQ&uzid=7a15c\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQBpmSZofeHicBbrUw5uO8r27DRibdR0XkZd8onpuKibWetSFUDX6RvNEFt5pqxhicTAadXFsnsgQ1Fdkk2cyFybF0W1&findertoken=088ae1b1c30e109addbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373536323830355f31373935353634333131323331303530323239312a2063636566316137663831383736373261383665373230366136656131306333663801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=AxricY7RBHdWAUGNYTIoDwuW5lw9ib9rAtwJnEqnQWyUsNxrzicWkDom9MSk7aGhdB80k4sxYtXKDc8te9WerPGcPzl3zM4WOyDImSbiabKmQ7G8vZrEn2NiaPQ&uzid=7a15c\"}}},{\"fileUploadedInfoKey\":\"Soul\u5207\u724730\u79d2\u52308\u5206\u949f AI\u534a\u5c0f\u65f6\u80fd\u526a10\u523030\u4e2a.mp4:1773047996920:14677795:video/mp4:d0cc03e2c83010468ac032bde23a34c4\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":0,\"reqTime\":1773137598892,\"resTime\":1773137601856,\"cost\":2964,\"success\":true},{\"index\":1,\"reqTime\":1773137598910,\"resTime\":1773137601427,\"cost\":2517,\"success\":true}],\"uuid\":\"70abc3db-3f13-4b0e-a29c-55059f131039\",\"uploadTaskId\":\"CkQwYTMwMWEzYmVjZThlMWYzMDNhM2IyYjY5OWQ1ODFmMzZhOGRmNDg0MWZkOTRiMjg4YWQwYzUyYTE3NjljMjAwNGEwYxI+NTY5YWZlZWJlMDAwZDlmYjNlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzVhMjU2N2Q0MzE1NmFhYTQ0MGQwo+7/Bg==\",\"uploadTaskIdTimeStamp\":1773137598846,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"6bd65e37a7ddc29930d13b89ee6cbcb726e83fe7\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"e71ac3977b96899846550b50ac3700ac6d1dffd3\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3YiaX8QrZIfDcibhjOkN9vtQYYoMyYcavUfcpMpH2EMFF9Z1TLj7nosmaiaoLpJqKYa1nNC8QYd6gPvcfTNKXOYtX2fKwbxkl7Uia&findertoken=088ae1b1c30e10c2ddbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373630323039315f31303036323437313033303134373833333631362a2038346563303732306437636364316337666237643764653461313834373631353801400348005000580260ce9e01&hy=SZ&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3myKZEPSnVsZBPiaMELpEUeawlpjxf1006MeE49wqe33nv0R025pRP3brcEzZKVSRxMKPtLdG6ZhUASMWeIZkJvmklZLiaLxSW7wQ&uzid=7a260\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3YiaX8QrZIfDcibhjOkN9vtQYYoMyYcavUfcpMpH2EMFF9Z1TLj7nosmaiaoLpJqKYa1nNC8QYd6gPvcfTNKXOYtX2fKwbxkl7Uia&findertoken=088ae1b1c30e10c2ddbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373630323039315f31303036323437313033303134373833333631362a2038346563303732306437636364316337666237643764653461313834373631353801400348005000580260ce9e01&hy=SZ&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3myKZEPSnVsZBPiaMELpEUeawlpjxf1006MeE49wqe33nv0R025pRP3brcEzZKVSRxMKPtLdG6ZhUASMWeIZkJvmklZLiaLxSW7wQ&uzid=7a260\"}}},{\"fileUploadedInfoKey\":\"\u521d\u671f\u56e2\u961f\u5148\u627e\u4e24\u4e2aIS\uff0c\u6bd4\u94b1\u597d\u4f7f ENFJ\u94fe\u63a5\u4eba\uff0cENTJ\u6307\u6325.mp4:1773052435476:15709935:video/mp4:a5ed3c56c2beea821d2ac906d1356525\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":0,\"reqTime\":1773137637583,\"resTime\":1773137640779,\"cost\":3196,\"success\":true},{\"index\":1,\"reqTime\":1773137637607,\"resTime\":1773137640511,\"cost\":2904,\"success\":true}],\"uuid\":\"1ee2b9dd-6106-495b-ada4-c13979e4d28a\",\"uploadTaskId\":\"CkQ4MTM5MzMwYzFhNzgxOTFlOGJhMzc0OTc5NmYxMWJjMWRiNDgxOWNmZmFlZjQ2ZTk4MGEzNDJiYmZjNWM5YTAwZGIwYxI+NTY5YWZlZWU1MDAwOTA1OWJlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzQ4MjVmN2Q3ZDE1NmEyNjg4N2Ew7+2+Bw==\",\"uploadTaskIdTimeStamp\":1773137637542,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"0e4ec0bbe036264dcd0c72f16fd9cec467fac403\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"44c575c0a157f21c0caa1b5f222567289c54d555\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDiad88pSJV8pElvbENVl8AZWppiab0HhNuDribGUTplUzZUFL9Ptf8BdF0mtdjn7eZytjUYKjyMx1C5el3orsjRGI&findertoken=088ae1b1c30e10e9ddbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373634313035395f31373131393435373733303734313536313334372a2061303766323138363932636665616531373965343030396361656366376261333801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3mzuqSwnWs3DnNsibyXCTtRjQbM7EnsBlSGxnhRtVThmPIEPG4GhUv6ciasJGCMSU6ibuRA3o8kA95qTjib4eTNeicKwyibpMy8iaeXVVA&uzid=7a22e\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3sJcaYqC2rQDiad88pSJV8pElvbENVl8AZWppiab0HhNuDribGUTplUzZUFL9Ptf8BdF0mtdjn7eZytjUYKjyMx1C5el3orsjRGI&findertoken=088ae1b1c30e10e9ddbfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373634313035395f31373131393435373733303734313536313334372a2061303766323138363932636665616531373965343030396361656366376261333801400348005000580260ce9e01&hy=SH&idx=1&m=&scene=2&token=x5Y29zUxcibCDPn6ryZn3mzuqSwnWs3DnNsibyXCTtRjQbM7EnsBlSGxnhRtVThmPIEPG4GhUv6ciasJGCMSU6ibuRA3o8kA95qTjib4eTNeicKwyibpMy8iaeXVVA&uzid=7a22e\"}}},{\"fileUploadedInfoKey\":\"\u5237\u7259\u542c\u4e1a\u52a1\u903b\u8f91 Soul\u5207\u7247\u53d8\u73b0\u600e\u4e48\u8dd1.mp4:1773046860441:11455089:video/mp4:9bf28327eaab27abdd35f6cb69d28918\",\"isUsedQuickUpload\":false,\"uploadChunkRecord\":[{\"index\":0,\"reqTime\":1773137676478,\"resTime\":1773137678681,\"cost\":2203,\"success\":true},{\"index\":1,\"reqTime\":1773137676487,\"resTime\":1773137677784,\"cost\":1297,\"success\":true}],\"uuid\":\"71509acb-f864-426e-88d1-5a7000673dae\",\"uploadTaskId\":\"CkQ3ZWEwY2E5Y2FiYjliODAwMTlhNjc5ZDc0YmNjYmU4NDA3NzJhNTJkN2E1ZTQxOWJhYTdmMTY3ZGE4ZjBkMTAwNzcwYxI+NTY5YWZlZjBjMDAwNzgwNWZlODZjNzA4YTAwMDAwMGZiMDAwMDRmNGU1MzVhMDI5YWUzMTFlNmEwOWY3MzMw8ZS7BQ==\",\"uploadTaskIdTimeStamp\":1773137676438,\"transFlag\":\"0_0\",\"partInfo\":[{\"PartNumber\":1,\"ETag\":\"\\\"3c14c323ada83472aff7bf0d85f326081fbae017\\\"\"},{\"PartNumber\":2,\"ETag\":\"\\\"3a719958486a3510b9ac709af1fe634a241d2e96\\\"\"}],\"uploadSuccessResp\":{\"data\":{\"DownloadURL\":\"http://wxapp.tc.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3YiaX8QrZIfDep5mRrn1nuPnYwBpjcdDeMJz4g9Z1hZkOfnurHqCNUOCyEVusgqLvG7nfYfQar5nYsS1AsLyaia4BCD5Gd6TBib1&findertoken=088ae1b1c30e108fdebfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373637383932325f31363030343730353134363830343139343237352a2034353761386231386137303431313530303736343261656233373833393164393801400348005000580260ce9e01&hy=SZ&idx=1&m=&scene=2&token=cztXnd9GyrH6mAjoicGjbzusprStK6qmfP7cBopnpCo9bK9M3qQ5mpWrAJFMD66PN78bFDef2LD4eQ0Nt1EyR0P8o7XokCvt5picqYophPSXmmcHEt2oMODw&uzid=7a260\",\"httpsUrl\":\"https://finder.video.qq.com/251/20302/stodownload?bizid=1023&dotrans=0&encfilekey=Cvvj5Ix3eewK0tHtibORqcsqchXNh0Gf3YiaX8QrZIfDep5mRrn1nuPnYwBpjcdDeMJz4g9Z1hZkOfnurHqCNUOCyEVusgqLvG7nfYfQar5nYsS1AsLyaia4BCD5Gd6TBib1&findertoken=088ae1b1c30e108fdebfcd061800223d66696e64657275706c6f616475726c5f333839393432303831305f313737333133373637383932325f31363030343730353134363830343139343237352a2034353761386231386137303431313530303736343261656233373833393164393801400348005000580260ce9e01&hy=SZ&idx=1&m=&scene=2&token=cztXnd9GyrH6mAjoicGjbzusprStK6qmfP7cBopnpCo9bK9M3qQ5mpWrAJFMD66PN78bFDef2LD4eQ0Nt1EyR0P8o7XokCvt5picqYophPSXmmcHEt2oMODw&uzid=7a260\"}}}]"}, {"name": "__ml::page_81da0042-a0e1-4c1f-890e-c0b02bd56357", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"db02c504-802f-487f-89b5-f4dad41c71a9\",\"step\":2,\"refAccessId\":\"af8040b6-3b41-439b-a5f1-3d1581b845dc\",\"refPageId\":\"MicroPost\"}"}, {"name": "finder_ua_report_data", "value": "{\"browser\":\"Chrome\",\"browserVersion\":\"143.0.0.0\",\"engine\":\"Webkit\",\"engineVersion\":\"537.36\",\"os\":\"Mac OS X\",\"osVersion\":\"10.15.7\",\"device\":\"desktop\",\"darkmode\":0}"}, {"name": "__ml::page_c25b15d2-cd8e-4c32-90db-4c029c3b8639", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"a7c7f72f-702f-4751-95c8-b09c218da055\",\"step\":1}"}, {"name": "__ml::page_ae72eda2-a035-425d-91bc-f32768f87116", "value": "{\"pageId\":\"PostList\",\"accessId\":\"673f6a4b-dd53-4722-a73e-999ff303ca38\",\"step\":2,\"refAccessId\":\"18324bc5-5c10-4ed8-98cb-882839a7e233\",\"refPageId\":\"PostCreate\"}"}, {"name": "__ml::page_d06b4931-7f4f-48fd-8766-c05a42290ec9", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"41dcf3a4-5990-4ce3-a91f-9991a80c9332\",\"step\":1}"}, {"name": "__ml::aid", "value": "\"bd71a1bd-04de-40a0-9f51-bbb8a5742f95\""}, {"name": "__rx::aid", "value": "\"bd71a1bd-04de-40a0-9f51-bbb8a5742f95\""}, {"name": "__ml::page_9a09a6d6-4002-441d-9718-6b994b70b154", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"a47abf26-d9ef-4846-bf26-8344dad605ef\",\"step\":2,\"refAccessId\":\"17e04d14-3c71-4ac0-8244-a5bc64fa5188\",\"refPageId\":\"MicroPost\"}"}, {"name": "__ml::page_fb038b00-6237-4295-ac40-e218458028ac", "value": "{\"pageId\":\"PostCreate\",\"accessId\":\"20540cf0-f460-4b91-b3ed-3a49dd867b39\",\"step\":1}"}, {"name": "finder_login_token", "value": ""}, {"name": "__ml::page_6dbbf7d2-1a71-40fc-a127-9d14be882b3e", "value": "{\"pageId\":\"PostList\",\"accessId\":\"30abb0ab-0fe2-4011-b2df-3fed60ea5a94\",\"step\":1}"}, {"name": "finder_username", "value": "v2_060000231003b20faec8c5e48919cbd5cb05e53db077dd1924028a806c10cffd891eb5a80ce7@finder"}, {"name": "_finger_print_device_id", "value": "6fd704941768442b12a996d2652fc61e"}, {"name": "MICRO_VISITED_NAME", "value": "{\"content\":71}"}, {"name": "__ml::page_60c6de6f-afda-46f2-869a-efa00e270c74", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"ae3a4bae-41fe-423b-9107-1805f46ba7ca\",\"step\":1}"}, {"name": "__ml::page_9f9e6151-6673-443c-bdaf-a5a51dd14c76", "value": "{\"pageId\":\"PostList\",\"accessId\":\"054f5226-8258-451d-9e60-96b3e5576bd0\",\"step\":2,\"refAccessId\":\"535a6b19-3abe-46ac-a820-1a6c684c3e4b\",\"refPageId\":\"PostCreate\"}"}, {"name": "__ml::page_a5a7c0a5-8dcc-45a5-ae08-170229a01d72", "value": "{\"pageId\":\"PostList\",\"accessId\":\"daa877bc-0a79-49ec-9731-be1a0ab222c4\",\"step\":1}"}, {"name": "__ml::page_d4565cc8-7736-4a9e-a51e-d63567b74d4a", "value": "{\"pageId\":\"MicroPost\",\"accessId\":\"67410980-a731-4456-bc61-c6433412933d\",\"step\":2,\"refAccessId\":\"d4f8b17a-6693-4a62-b33d-ea5521e28b5c\",\"refPageId\":\"MicroPost\"}"}, {"name": "UvFirstReportLocalKey", "value": "1773072000000"}, {"name": "finder_uin", "value": ""}]}]} \ No newline at end of file diff --git a/运营中枢/工作台/gitea_push_log.md b/运营中枢/工作台/gitea_push_log.md index 96a799d4..047bd3d0 100644 --- a/运营中枢/工作台/gitea_push_log.md +++ b/运营中枢/工作台/gitea_push_log.md @@ -267,3 +267,4 @@ | 2026-03-10 15:17:46 | 🔄 卡若AI 同步 2026-03-10 15:17 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | | 2026-03-10 15:29:57 | 🔄 卡若AI 同步 2026-03-10 15:29 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | | 2026-03-10 15:47:47 | 🔄 卡若AI 同步 2026-03-10 15:47 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | +| 2026-03-10 16:09:02 | 🔄 卡若AI 同步 2026-03-10 16:08 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | diff --git a/运营中枢/工作台/代码管理.md b/运营中枢/工作台/代码管理.md index db654b56..34088093 100644 --- a/运营中枢/工作台/代码管理.md +++ b/运营中枢/工作台/代码管理.md @@ -270,3 +270,4 @@ | 2026-03-10 15:17:46 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-10 15:17 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-10 15:29:57 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-10 15:29 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-10 15:47:47 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-10 15:47 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | +| 2026-03-10 16:09:02 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-10 16:08 | 更新:卡木、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |