diff --git a/README.md b/README.md index b6480ef..d596802 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ playwright install chromium # 下载高清b站视频 bilibili_cookie = "xxxx" ``` +或使用接口 `/env?key=bilibili&value=xxxx` + > ⚠️ 注意:下载bilibili视频会需要使用 `ffmpeg` 合成,下载耗时较久 ```shell diff --git a/browser/douyin.py b/browser/douyin.py index 2d4989f..ad33115 100644 --- a/browser/douyin.py +++ b/browser/douyin.py @@ -2,6 +2,7 @@ from playwright.sync_api import Request, Response from browser import browser from core import config +import urllib.parse class DouyinHandler: @@ -29,8 +30,15 @@ def get_info(cls, url: str) -> any: except: break + path = get_path(p.page.url) p.close() + if path == "/": + cls.data = None + return None + + # /note/7264601120775916855 + data = cls.data cls.data = None return data @@ -53,13 +61,12 @@ def handle_request(cls, req: Response) -> any: except: pass - # @classmethod - # def handle_request(cls, req: Request) -> any: - # print(req.url) - # if req.url.startswith("https://www.douyin.com/aweme/v1/web/aweme/detail/") is False: - # return - # print(req.url) - # resp = req.response() - # if resp.status != 200: - # return - # cls.data = resp.json() + +def get_path(url) -> str: + try: + result = urllib.parse.urlparse(url).path + if result == "": + return None + return result + except ValueError: + return None diff --git a/core/apis.py b/core/apis.py index 737bcb7..5c9141c 100644 --- a/core/apis.py +++ b/core/apis.py @@ -21,11 +21,20 @@ def set_env(request): if not key: return HttpResponseBadRequest(ErrorResult.TYPE_NOT_PRESENT.get_data()) value = request.GET.get('value') + if not value: - return HttpResponseBadRequest(ErrorResult.TYPE_NOT_PRESENT.get_data()) + v = "" + if key == "bilibili": + v = config.bilibili_cookie + if key == "page_wait": + v = config.page_wait + return HttpResponse(v) if key == "bilibili": config.bilibili_cookie = value + if key == "page_wait": + config.bilibili_cookie = value + return HttpResponse() def fetch(request): diff --git a/core/config.py b/core/config.py index 903fa1b..bc8581f 100644 --- a/core/config.py +++ b/core/config.py @@ -9,11 +9,9 @@ dy_cookie = "douyin.com; webcast_local_quality=null; __ac_referer=__ac_blank; d_ticket=954b3cdbf9f3c5f7b1c2ff1ba5173f887f6a6; n_mh=eC2nr3EWmL8R9UPlHOVk5uazNPrMum-0VC0m9OcQC9Y; store-region=cn-fj; store-region-src=uid; LOGIN_STATUS=0; odin_tt=1c94a7a4625315190f50045bc504c1a8064e372100876518a32c547876a7e8dfd4d49217594a47341d57e232062a3462cead12ad1bd7bed9fa1430fc9a11176a; xgplayer_user_id=689542287459; FORCE_LOGIN=%7B%22videoConsumedRemainSeconds%22%3A180%2C%22isForcePopClose%22%3A1%7D; s_v_web_id=verify_ljn1xtoc_tYEclCsb_m8Xl_4fb7_Bzfl_EGccLrMo3CkT; passport_csrf_token=5d5dca2c0c370ab1aca1b42dffe6f1a6; passport_csrf_token_default=5d5dca2c0c370ab1aca1b42dffe6f1a6; ttwid=1%7CSPH7XdmGcnwzjGcJDbz2XeJloqAM6fpd6osS3Ch5y_U%7C1690817288%7C9a5c63731028fcb21ee736c1f7119dabc1c45698fa14e0fcd06489d4cbb6f971; download_guide=%223%2F20230819%2F1%22; bd_ticket_guard_client_data=eyJiZC10aWNrZXQtZ3VhcmQtdmVyc2lvbiI6MiwiYmQtdGlja2V0LWd1YXJkLWl0ZXJhdGlvbi12ZXJzaW9uIjoxLCJiZC10aWNrZXQtZ3VhcmQtcmVlLXB1YmxpYy1rZXkiOiJCRHV3SjQyV1EyMTFGbDBMYlNEbzU0S1JnR2ZVcU9mZmkyOVkvUm1wL0R1MDUxN2V5QmxwMlVnTkhzaDlPUnN4bU16dWZ1cUVpeGZhVmtGZFVUOEY2WGM9IiwiYmQtdGlja2V0LWd1YXJkLXdlYi12ZXJzaW9uIjoxfQ==; pwa2=%220%7C0%7C3%7C0%22; SEARCH_RESULT_LIST_TYPE=%22single%22; __live_version__=%221.1.1.3293%22; live_can_add_dy_2_desktop=%221%22; douyin.com; device_web_cpu_core=8; device_web_memory_size=8; webcast_local_quality=null; csrf_session_id=a3b6650e0382e37ebebcc34420198f16; volume_info=%7B%22isUserMute%22%3Afalse%2C%22isMute%22%3Afalse%2C%22volume%22%3A1%7D; strategyABtestKey=%221693506803.201%22; VIDEO_FILTER_MEMO_SELECT=%7B%22expireTime%22%3A1694144585836%2C%22type%22%3A1%7D; __ac_nonce=064f18b64006a53d9da57; __ac_signature=_02B4Z6wo00f0182SW2gAAIDAneUfk4POQqfNsl.AAJeeTbFu3.Az.5A95FBrVESkLeoOGBOcexJE4ojWnPyS0ddJ7kq9xNzb-Nzq21JHt8kByu4BspmIXZWb0tAaP1ybRCwX44EJq6sV2npR71; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1920%2C%5C%22screen_height%5C%22%3A1080%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A8%2C%5C%22device_memory%5C%22%3A8%2C%5C%22downlink%5C%22%3A10%2C%5C%22effective_type%5C%22%3A%5C%224g%5C%22%2C%5C%22round_trip_time%5C%22%3A50%7D%22; home_can_add_dy_2_desktop=%221%22; msToken=LCbCR_2xF7fuEsQCggf0NSzsiUIvQyX0RR7ho_yqpZCQOAc12fqFArTVml4q-ydBig8K4wkp1lhv6ib8kOBUSgmxk2whnczCbABBkmpYxXzWsJKdgqNBT_wKvlvNAow=; msToken=ihpXYiCUYQk4euK5BXf7mOSrwRoxsCCF13st-OM3L1SYbhGzxrdhWkz02EeoAzwh8kB6y-nN_8OyJb3XoOO6eAzW-F-frMufYqRaUX_jkgktm4DF2paq8Q==; tt_scid=DaZU3sAU14kbgMDue3PpZ6Mzec6B.Yt.aEGRTLsIWtP25pFx9xf3F5O5gZoSTnsA64b2; IsDouyinActive=false" # cookie from https://api.bilibili.com/xxx -bilibili_cookie = "buvid3=8562AB14-BB8D-44AC-3AF2-93D58C28206654565infoc; b_nut=1683010854; CURRENT_FNVAL=4048; _uuid=4959E84A-41E9-D26C-8B36-451CF3FBBD1A55180infoc; buvid4=F7D537A5-1FAD-2AB6-7D1A-56C561EDAA3455247-023050215-ZGcJO5McptU3gJtMxF9nhQ%3D%3D; CURRENT_PID=1569ae20-e8b7-11ed-a5dd-934814e5ca1f; rpdid=|(JYYJ|mJRY|0J'uY)J|u|)ll; nostalgia_conf=-1; i-wanna-go-back=-1; DedeUserID=255703; DedeUserID__ckMd5=4903b103cd885b96; b_ut=5; buvid_fp_plain=undefined; CURRENT_QUALITY=80; FEED_LIVE_VERSION=V8; is-2022-channel=1; enable_web_push=DISABLE; header_theme_version=CLOSE; fingerprint=503808fb2029a375b72dbf6b60d7fa9a; home_feed_column=5; browser_resolution=1920-874; PVID=2; buvid_fp=503808fb2029a375b72dbf6b60d7fa9a; b_lsid=B6108E5B1_18DE5D9056E; SESSDATA=f9976abf%2C1724513157%2Ca4694%2A21CjATKyM-85om-HgDTVIt4slWimnz-Mr-CNaxavSf3lNz5pGVhysgZi5L4EK0ERYu7mUSVm8wcjVjbmVWajY0Si1SVE0yX0tkdElfRmVGRk5ZX2VuYXYxMEpVYUx2VnhPUFR1bjAtdEFNQ3drUFc3WGwyeFZTYU5COGU4UzdRcTlVclg4TUlobWxnIIEC; bili_jct=808d7dd44c78921a384589f9ce6b831e; bp_video_offset_255703=902463682232975411; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDkyMjAzNjUsImlhdCI6MTcwODk2MTEwNSwicGx0IjotMX0.hHNc_lyk59UI0Me7HFht_TRwSbeWPQghdizP5GpWgJ8; bili_ticket_expires=1709220305; sid=due6plap" +bilibili_cookie = "" env_bc = os.environ.get('BILIBILI_COOKIE') -print(env_bc) - if env_bc: bilibili_cookie = env_bc diff --git a/stealer/urls.py b/stealer/urls.py index 5249043..88cafde 100644 --- a/stealer/urls.py +++ b/stealer/urls.py @@ -23,7 +23,7 @@ # path('admin/', admin.site.urls), path('', TemplateView.as_view(template_name="index.html"), name='index'), # path('', index.index, name='index'), - # path('set_env', apis.set_env, name='set_env'), + path('env', apis.set_env, name='set_env'), path('video/', include('core.urls'), name='video'), ]