From 44290b1108e637d8fda7028e6779314543d52427 Mon Sep 17 00:00:00 2001 From: jueweijue Date: Sat, 13 Jul 2024 01:45:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 ++++++- api.py | 19 +++++++++++++++++++ qushuiyin.py | 18 +++++++----------- requirements.txt | Bin 657 -> 1826 bytes run.py | 4 ++++ 5 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 api.py create mode 100644 run.py diff --git a/.gitignore b/.gitignore index 8bfe434..1ca849a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,10 @@ Download/ logs/ douyin_users.db douyin_videos.db +__pycache__/ -.DS_Store \ No newline at end of file +.DS_Store + +.vscode/ +.idea/ +*.pyc \ No newline at end of file diff --git a/api.py b/api.py new file mode 100644 index 0000000..c7cf453 --- /dev/null +++ b/api.py @@ -0,0 +1,19 @@ +from flask import Flask, request, jsonify +from qushuiyin import qushuiyin + +app = Flask(__name__) + + +@app.route("/get_dy_urls", methods=["POST"]) +async def get_dy_urls(): + data = request.get_json() # 从请求中获取JSON数据 + if not data: + return jsonify({"error": "No data provided"}), 400 + + # 处理数据 + dy_urls = await qushuiyin(data["share_url"]) + return jsonify(dy_urls), 200 + + +if __name__ == "__main__": + app.run(debug=True) diff --git a/qushuiyin.py b/qushuiyin.py index 4a54db7..d2f4967 100644 --- a/qushuiyin.py +++ b/qushuiyin.py @@ -13,11 +13,9 @@ kwargs = { } -async def get_video_id(): - urls = input("请输入抖音作品分享链接:") - +async def get_video_id(share_url): raw_urls = [ - urls, + share_url, ] # 提取有效URL @@ -27,17 +25,15 @@ async def get_video_id(): return await AwemeIdFetcher.get_all_aweme_id(urls) -async def main(): - aweme_id = await get_video_id() +async def qushuiyin(share_url): + aweme_id = await get_video_id(share_url) video = await DouyinHandler(kwargs).fetch_one_video(aweme_id=aweme_id[0]) video_info = video._to_dict() cover_url = video_info["cover"] music_url = video_info["music_play_url"] - video_url = video_info["video_play_addr"] - print(f"封面: {cover_url}") - print(f"音乐: {music_url}") - print(f"视频:{video_url[0]}") + video_urls = video_info["video_play_addr"] + return {"cover_url": cover_url, "music_url": music_url, "video_urls": video_urls} if __name__ == "__main__": - print(asyncio.run(main())) + print(asyncio.run(qushuiyin())) diff --git a/requirements.txt b/requirements.txt index 300153b4011123a23eb45b45928cae4fcff69fa4..66117f79446432edcd26d4cb323b23c3264cfe86 100644 GIT binary patch literal 1826 zcmZ9NO>fg+5QO)P#7_x|(+|pl0|z)%R6^o_I8{lS50}JAZAWeS@xVMgdE*vEZd&iY zv$M0aZ~y+8Mjg9Y>gOgF(Zxr7Ci=XKO3ygn#+z_X7Z1v*qgNhTW5p-=vt%{V2&-2< zId?JA_jBw|xSV+Z0<}?;>Y$zLJx{^vVx?HCv&)R1DR!l&N=CC}(!?*t+l<4O_~aOG zh5M*}h>v2fzjn&5_4irk!=;K3C&YPX_R2sDt1uQCoZx((xbs-6yEbuq;nHs#TfIY> z-zPS(!wJ0BYKC`W_9zA;@xY0D?NZ4e`n@@3Dp7; z3hf|NPoLBF6n>%uoIA~Z#CufnUU(PxI(N|f)sX>bFZ8%Wq60IWWK@*x^~`kE8;$~# z)S#SvR^?WwasDnl-ip7yWRDJ=(!b}%mduYVt+i+Jf5vTkrTEs0ptC3NO?aPGYoV-b zX-C(kGxtCSd$Z6KaE*0AJ2rgiVV_e2Sa+nrQYPJct{&Q_T9i*5J!d ze7HNgJ$<8-;jN$pCb-RgE;`v~jxl5QX%)BP^pr|8>eBa}wZ$Kmlq)>#Snl1K>J-!= h{wSoGFm~#d{}W|K#_)W8=snxS&5egafiv9fgMY)?0m1+P literal 657 zcmXw1v96pj5bXUgSlIBmOF@w$O_WGaN|ow~Glts$UO(IDj(mM)Ii=k7?Ci{}2jYoV zpZnfgZFH>$;{3T%@qJ%wTT3SdE<^ESRgNggT3^ogLEQJPZc*G4KeA7iV_wKNf-zsT zQO>7A6M?<9Eyh~qR&q<CM!r_b*JVn=e6$}ZM9W*V@?j?zLydmCkTQ*{dU$* zd9@;g#xTg#MbQ>Hm6dK)@|pMKL~D1NqCk$rL^Fhd15=r=U5yUVXMt+2fN)-?33f(sD3EIVoRdI03Fq2Thvr%!~=NV9=-vEv4 zIc3mKT==$6vc`f(#lxi|79M%?Fo-0CJ09Z@3OUi*A;ACj$14*U=%Dfa`1bVf`>)p; zgL>Y4C`bT+>q!$uk=)eU`eIHkNAbDHF#rOwRMn7=;N-G^8noY!-(P?JkR)MGeI~~v zPJvUxY9e>XMx>9YOc0F;i75w~CLu9M&?tNy