# -*- coding: utf-8 -*- # @Author: wangkun # @Time: 2022/3/31 import os from datetime import date, timedelta from loguru import logger import datetime import json import time import requests import urllib3 class Demo: @classmethod def demo1(cls): download_video_resolution = "720*1280" download_video_width = download_video_resolution.split("*")[0] download_video_height = download_video_resolution.split("*")[-1] print(download_video_resolution) print(download_video_width) print(download_video_height) @classmethod def time(cls): # 推荐 time1 = int(time.time()*1000) print(time1) # 不推荐 time2 = round(time.time())*1000 print(time2) # 统一获取当前时间 now = datetime.datetime.now() print(type(now)) print(f"now:{now}") # 昨天 yesterday = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d") print(type(yesterday)) print(f"昨天:{yesterday}") # 今天 today = date.today() print(type(today)) print(f"今天:{today}") # 明天 tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d") print(type(tomorrow)) print(f"明天:{tomorrow}") @classmethod def get_douyin_feeds(cls): """ 获取抖音feed流视频 https://www.douyin.com """ url = "https://www.douyin.com/aweme/v1/web/tab/feed/?" params = { "device_platform": "webapp", "aid": "6383", "channel": "channel_pc_web", "count": "10", "refresh_index": "4", "video_type_select": "0", "version_code": "170400", "version_name": "17.4.0", "cookie_enabled": "true", "screen_width": "1920", "screen_height": "1080", "browser_language": "zh-CN", "browser_platform": "MacIntel", "browser_name": "Chrome", "browser_version": "99.0.4844.84", "browser_online": "true", "engine_name": "Blink", "engine_version": "99.0.4844.84", "os_name": "Mac OS", "os_version": "10.15.7", "platform": "PC", "cpu_core_num": "8", "device_memory": "8", "downlink": "10", "effective_type": "4g", "round_trip_time": "50", "msToken": "304uY1lV7HmHkR1G1QUaFqg0yrL5_WqrFOR8qCbl3hOsl8aSNI_18vIfpTGNhNRVZx7ysRiCHpcBKhpujTsbbC" "ZEDbG7pllZzlO3tlrBOs2TFYUgJdsvbw==", "X-Bogus": "DFSzswVYPVsANat/Sl8eGc3WxM23", "_signature": "qaJgTwAAy.aVqLslyfC7aKmiYF" } cookies = { "_tea_utm_cache_6383": "undefined", "ttwid": "1%7CETZk6sDMDSBgewWhKJXghFN4cwXTz0fLuhsLEngD_Nk%7C1648812136%7Cfa66fa81ccfe3f552f4" "e8b8327e72cbbc5e897141c25a5fcd32defaed1466d3e", "passport_csrf_token": "e2d0f1ed9fd22463be9f389137a781ce", "passport_csrf_token_default": "e2d0f1ed9fd22463be9f389137a781ce", "s_v_web_id": "verify_l1h7nzwr_ABN0FA2f_BTrM_4zSH_8WPN_2KY2iZFmbhE2", "_tea_utm_cache_1300": "undefined", "_tea_utm_cache_2285": "undefined", "ttcid": "3220eeda36a244beadd32a4b44d2044b31", "douyin.com": "", "__ac_nonce": "06247fb0f00f050ccc9b2", "__ac_signature": "_02B4Z6wo00f01AN7DoAAAIDB5nv.qI7xGZQDWwoAAGKfo4rd5YCAYF8o5PyppIpsdKxV0k2NerO" "f1VEQr3eJftkpgon9tcveDVpmfY555vzTTvRznegS1ax3KJXnoav2ZdEoYzwR3wDszPCk5d", "strategyABtestKey": "1648865029.449", "AB_LOGIN_GUIDE_TIMESTAMP": "1648865029279", "THEME_STAY_TIME": "299621", "IS_HIDE_THEME_CHANGE": "1", "home_can_add_dy_2_desktop": "0", "tt_scid": "vUl8CBW1SMQp2l5GmUIja5A6ziY1LByrsoN.P-wvKuutiB8ftvlfK.9ZEeehNC5u821d", "pwa_guide_count": "2", "msToken": "EHCmp9Qw7PAChI3do-MQPjOR29hf4ZFLYNrGl89HkFKdO5Iwb8n7z5fpETrgim2zFTIkGT" "ObOxH7HCrHCLVEX5eAuwAS1A2sjKH4MHEfjfPqA06Lo4v9Pw==", } try: urllib3.disable_warnings() r = requests.get(url=url, params=params, cookies=cookies, verify=False) # response = json.loads(r.content.decode("utf8")) print(r) print(type(r.text)) print(r.text) except Exception as e: print(e) @classmethod def demo2(cls): s = "0" print(int(int(s) / 10)) @classmethod def get_weishi_feeds(cls): url = "https://api.weishi.qq.com/trpc.weishi.weishi_h5_proxy.weishi_h5_proxy/WxminiGetFeedList" cookies = { "wesee_authtype": "3", "wesee_openid": "oWGa05FrwkuUvT-4n1qGeQuhVsc8", "wesee_openkey": "8c3ec202f5d679fb5ee6d9f643640d9a2580ba504612e2d979a881d3169caf189e2a5c1d532eeff172bc21cf2" "6230941ccbc10243a7879e8165ca608c17060de606a6d08afe0a3abd5250629314f9a99e9d1003b201bf5ec", "wesee_personid": "1593522421826902", "wesee_refresh_token": "", "wesee_access_token": "8c3ec202f5d679fb5ee6d9f643640d9a2580ba504612e2d979a881d3169caf18" "9e2a5c1d532eeff172bc21cf26230941ccbc10243a7879e8165ca608c17060de6" "06a6d08afe0a3abd5250629314f9a99e9d1003b201bf5ec", "wesee_thr_appid": "wx75ee9f19b93e5c46", "wesee_ichid": "8" } json_data = { "req_body": { "requestType": 16, "isrefresh": 0, "isfirst": 0, "attachInfo": "", "scene_id": 22, "requestExt": { "mini_openid": "oWGa05FrwkuUvT-4n1qGeQuhVsc8", "notLogin-personid": "1593522421826902" } }, "req_header": { "mapExt": "{\"imageSize\":\"480\",\"adaptScene\":\"PicHDWebpLimitScene\"}" } } try: urllib3.disable_warnings() r = requests.post(url=url, cookies=cookies, json=json_data, verify=False) response = json.loads(r.content.decode("utf8")) feeds = response["rsp_body"]["feeds"] for feed in feeds: print(feed) except Exception as e: print(e) @classmethod def edit_str(cls): title_list = ["#上海战疫 上海累计感染超20万!这条被淹没的热搜,令全网泪目… 疫情一定要攻克,但所有人都不该遗忘这些弱者。#上海累计报告本土阳性感染者超20万例 #农民工", "#重庆地火村 #地火村 #旅行", "第79集 | 湖南最值得去的六个景区,每一个都是绝色…… #快手带你去旅行 #旅游胜地 #旅游", "霸王条款不废除,断供有多可怕。 #涨知识 #生活小常识 # 生活常识", "秦始皇还活着?地宫中有不明物体缓缓移动 #历史 #秦始皇 #新春寄语 @快手热点(O40300129)", "#夏日荷花 #国花牡丹 #昙花一现", "国内最良心的8个景区,这才是景区最该有的样子,看看你去过几个? #旅行  #旅游 ", "狗子呆在水里三天三夜,终于练成捕鱼神功,一口一个大鲶鱼 #狗狗  #神奇动物  #快手放映室  @快手热点(O40300129) ", "#集结吧光合创作者 养鸡小伙:喂鸡摆出各种造型,被称为鸡司令。", "89岁农民老艺人自食其力,街头卖艺表演“捏碎碗片”绝技,现场听到咔吱咔吱响,人狠功夫硬!这功夫已失传,以后再看不到了!#集结吧光合创作者 #农民 #街头表演 @快手光合作者助手(O40300118) @快手热点(O40300129) @我要上热门(O1907752910)", "我国最贵最有名的三棵树,你知道哪三棵吗?#旅游 #旅行攻略 #黄山迎客松", "潘长江带来热舞,蔡明 郭达也来了!太嗨了!歌词太棒了! @快手涨粉助手(O1815060199) @快手热点(O40300129) @快手平台帐号(O90041) #潘长江 #搞笑 #集结吧光合创作者", "#带你看世界 给大家带来一期烟花盛宴,希望大家能够喜欢,带上你的那个她一起来看吧 #烟花 #视觉震撼" ] for title in title_list: title_split1 = title.split(" #") if title_split1[0] != "": title1 = title_split1[0] else: title1 = title_split1[0] title_split2 = title1.split(" #") if title_split2[0] != "": title2 = title_split2[0] else: title2 = title_split2[-1] title_split3 = title2.split("@") if title_split3[0] != "": title3 = title_split3[0] else: title3 = title_split3[-1] print(title3) title = title3.replace("\n", "").replace("#", "").replace("/", "").replace("\r", "") print(title) # new_title = re.compile(r'(#)(.*)(#)') # print(new_title.sub(r'', title)) @classmethod def kuaishou_sensitive_words(cls): sensitive_words = [ "汽车", "电影解说", "放映室", "解说电影", "断供", ] return sensitive_words @classmethod def sensitive_words(cls): title_list = ["#上海战疫 上海累计感染超20万!这条被淹没的热搜,令全网泪目… 疫情一定要攻克,但所有人都不该遗忘这些弱者。#上海累计报告本土阳性感染者超20万例 #农民工", "#重庆地火村 #地火村 #旅行", "第79集 | 湖南最值得去的六个景区,每一个都是绝色…… #快手带你去旅行 #旅游胜地 #旅游", "霸王条款不废除,断供有多可怕。 #涨知识 #生活小常识 # 生活常识", "秦始皇还活着?地宫中有不明物体缓缓移动 #历史 #秦始皇 #新春寄语 @快手热点(O40300129)", "#夏日荷花 #国花牡丹 #昙花一现", "国内最良心的8个景区,这才是景区最该有的样子,看看你去过几个? #旅行  #旅游 ", "狗子呆在水里三天三夜,终于练成捕鱼神功,一口一个大鲶鱼 #狗狗  #神奇动物  #快手放映室  @快手热点(O40300129) ", "#集结吧光合创作者 养鸡小伙:喂鸡摆出各种造型,被称为鸡司令。", "89岁农民老艺人自食其力,街头卖艺表演“捏碎碗片”绝技,现场听到咔吱咔吱响,人狠功夫硬!这功夫已失传,以后再看不到了!#集结吧光合创作者 #农民 #街头表演 @快手光合作者助手(O40300118) @快手热点(O40300129) @我要上热门(O1907752910)", "我国最贵最有名的三棵树,你知道哪三棵吗?#旅游 #旅行攻略 #黄山迎客松", "潘长江带来热舞,蔡明 郭达也来了!太嗨了!歌词太棒了! @快手涨粉助手(O1815060199) @快手热点(O40300129) @快手平台帐号(O90041) #潘长江 #搞笑 #集结吧光合创作者", "#带你看世界 给大家带来一期烟花盛宴,希望大家能够喜欢,带上你的那个她一起来看吧 #烟花 #视觉震撼" ] print(cls.kuaishou_sensitive_words()) for title in title_list: for word in cls.kuaishou_sensitive_words(): if word in title: print(f"敏感词:{word}") print(f"敏感词视频:{title}") cls.kuaishou_sensitive_words().remove(word) else: print(f"正常视频:{title}") cls.kuaishou_sensitive_words().remove(word) @classmethod def logger(cls): # 日志路径 log_dir = r"./logs/" log_path = os.getcwd() + os.sep + log_dir if not os.path.isdir(log_path): os.makedirs(log_path) # 日志参数 log_name = time.strftime("%Y-%m-%d", time.localtime(time.time())) + '.log' # 日志不打印到控制台 logger.remove(handler_id=None) # logger.add(log_dir+log_name, format="{time} {level} {message}", # level="INFO", rotation='5 MB', encoding='utf-8') logger.add(log_dir+log_name, level="INFO", rotation='13:56') return logger if __name__ == "__main__": while True: demo = Demo() # demo.demo1() # demo.time() # demo.get_douyin_feeds() # demo.demo2() # demo.get_weishi_feeds() # demo.edit_str() # demo.sensitive_words() demo.logger().info("hello") time.sleep(10) a = "hahaha" demo.logger().exception("what:{}", a) # pass