QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3446|回复: 0
打印 上一主题 下一主题

Python-追剧下载视频

[复制链接]
字体大小: 正常 放大
檀俾九        

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. , T2 h6 p! u* n) h0 G# -*- coding: utf-8 -*-
  3. + W+ f. {6 ~; }3 G: R+ j
  4.   I& c3 n' k5 H. r: Pimport threading
  5. $ \& \4 {; Q) F- a7 G9 Hfrom lxml import etree
  6. ( N7 i( }( A* x& y' Gimport requests
  7. / N\" t- c3 R; w1 ?\" q) o9 Hfrom ctypes import windll
  8. \" ]1 Z( C; D9 Q6 u! Y\" [7 v
  9. * t! f+ x\" k/ N& E* l
  10. 5 R, B: z9 X4 B+ g4 ]3 |def getmidstring(html, start_str, end):; n2 ]0 \! |2 I+ v% u3 F3 S& I
  11.     start = html.find(start_str)# u' `2 L2 P7 u, V2 X5 }$ T: D- s
  12.     if start >= 0:
  13. 3 b, P0 c% ?4 s) Q: c; N1 K        start += len(start_str)
  14. ( l0 }8 E- k; W; X        end = html.find(end, start)
  15. % [5 B8 t! M7 _        if end >= 0:
  16. % L# B5 r8 d- t2 D            return html[start:end].strip()5 j0 ]& S7 K% V, m

  17. # e- O) s/ `, k5 ?3 k\" F# M8 l3 g9 A\" ]8 Z$ Q
  18. def getleftstring(html, end):  t( b* }; l4 W7 l% o. F
  19.     end = html.find(end)
  20. 7 S- |' y8 M& u+ @/ ]: A    if end >= 0:3 n7 ]0 M$ |+ z3 y- s- ~+ |
  21.         return html[0:end].strip()5 ?7 w* g* K5 f; G) M8 w
  22. 4 L) y  `\" Q& K; S$ m, [

  23. / C, E9 q+ [0 m0 l4 Q- W# j' tdef updata(i):9 ^8 j2 X8 h5 R# `+ P
  24.     req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  25. \" w' j5 {2 f! f& A    req.encoding = "utf-8"
  26. # W. T$ @% `2 Y6 P9 w1 g4 ]    m3u8 = getmidstring(req.text, "var now=\"", "\""): M3 _7 U; ^8 _8 k

  27. * w) _% U2 L8 [: x$ `6 z0 a    html = etree.HTML(req.text)6 E% u2 F5 J# i* e- X$ k
  28.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]9 v6 D- M\" v; D4 S
  29.     title = getleftstring(title, ",")- q6 K& F: I; f6 N, n\" i9 X
  30.     print(title)
  31. \" s) v8 v' b2 P9 B: j/ r, U( ^
  32. : @# J5 z# x% l$ {5 e    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (
  33. # z\" P# N; a) V; P        m3u8,! W+ X6 t2 i: H% E: p; s) O! o
  34.         r"F:\xxx",' @/ @1 Y1 G- N0 C# l! ^, ~; h, G  c
  35.         title)- p6 b' g6 J5 T4 N\" M+ k; k9 x1 S
  36.     print(cmd)8 t, ?2 [! K: ?: T: c\" T) R

  37. $ R/ _$ f$ K- |: b    dll = windll.LoadLibrary("Shell32.dll")  K& D+ \' R$ U9 h; S2 ]5 ?
  38.     print(dll.ShellExecuteW(None,, Q\" _( w: W) l! T
  39.                             "open",% Y, |/ q& _% Q
  40.                             r"D:\xxx.exe",
  41. # ?  u2 x( o/ H' V/ g* f4 `; D                            cmd, None, 1))
  42. + H) {( i3 t# w- n3 [. n% c7 J; @* y7 `+ c

  43. * ~& X8 G9 j: {# T0 o4 kdef cycle():
  44. 0 ]. \' A' f( u3 y6 X3 d    for i in range(40):
  45. ( K4 G, ~7 l$ G3 r        updata(i)
  46. 7 G( O2 H- E) N6 \: d
  47. 3 u: v5 K8 o0 d1 M- G; K. W7 w3 R
  48. if __name__ == '__main__':
  49. . q; E. B\" C; \; w\" T* t! f/ m    hThread = threading.Thread(target=cycle), J9 L6 `9 O2 h8 e! {
  50.     hThread.setDaemon(True)$ k. d# ]+ }+ [- j$ M: G
  51.     hThread.start()
  52. ) F, I- \( P\" `3 z    hThread.join()9 k3 j. ~\" z+ Y1 A; f

8 |1 [% ~+ r- c) w9 o0 O% C% q, t+ p
6 {7 m4 |+ A! g: R: R* M在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
7 n- l) D- z5 R1 K2 F/ s: Z4 n0 j8 K7 S1 C2 m* }! v3 \  @7 k0 \

9 |8 G5 j/ V, `) b
转发自派生社区
Python交流群:1047602540
% ?8 I. W/ x% Z- t( T$ j
% \& I3 u; S# g- u* t7 K

9 O8 ~' ^. w) i& ]
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-18 07:07 , Processed in 0.312814 second(s), 50 queries .

回顶部