QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python5 |8 |8 [% C5 r8 Q
  2. # -*- coding: utf-8 -*-
  3. : W  N' e* F: t: {5 u7 g1 X  G- Z9 O: f9 i0 ~. {
  4. import threading
  5. , P9 ]4 ~& s! h. W4 H% s# [! M: }1 ^from lxml import etree' r( l. \; U/ u/ n. V
  6. import requests
  7. / v: I, q. s% O, c\" ?0 nfrom ctypes import windll
  8. 4 x) L8 }! }0 d- q  Y/ E: A
  9. 5 j8 E2 E1 L5 ~! i. Q! ~) ?9 t\" }% t, K( g! v
  10. def getmidstring(html, start_str, end):4 w; Z3 E' ]) A
  11.     start = html.find(start_str)
  12. ( @. n4 e9 Y1 F' U) z    if start >= 0:' z+ P& ^7 U+ `  W: E: P) M9 c
  13.         start += len(start_str)8 M# j6 z9 B6 F: y& |: T
  14.         end = html.find(end, start): a) O4 P2 C5 l- W
  15.         if end >= 0:
  16. : f* I+ H  Y( N9 W8 O1 z% v            return html[start:end].strip()% R' u# I) I# ~* u2 O

  17. , {% M' a# z\" B$ [8 R1 j8 h7 Y6 n$ G% F2 X7 [* }0 X# g2 V
  18. def getleftstring(html, end):7 P3 s( _( b\" h0 ~. O( e
  19.     end = html.find(end)
  20. . q7 r2 F5 _) b, e, V0 Z% r% N    if end >= 0:
  21. . a/ i/ S\" |8 z6 z! e        return html[0:end].strip()$ s, l5 }+ o3 m' q$ d: j, S3 k3 x

  22. - v& A2 T' I# l4 b1 X
  23. 0 j3 X2 O/ N( G, _9 Zdef updata(i):
  24. 2 b+ c9 R, `) ]+ j    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  25.   d( N- a. J# J. i  w    req.encoding = "utf-8"! g6 ]  e9 s0 T5 j) n% T
  26.     m3u8 = getmidstring(req.text, "var now=\"", "\"")1 q3 |1 R' J9 _$ h7 E9 Y. a
  27. , |, ?' p! T2 a+ ]
  28.     html = etree.HTML(req.text)! v/ N1 X/ @1 o
  29.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]9 l2 x4 R; }* }
  30.     title = getleftstring(title, ",")1 ~3 v* d8 D* ]
  31.     print(title)
  32. # {% r+ v0 L- g; ?! L+ B7 X
  33. : O7 F/ v, l/ [; c* ^- }    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (0 ~0 s  H- \: G# ^* c, i
  34.         m3u8,; h$ ?7 r+ r1 [5 p
  35.         r"F:\xxx",
  36. 7 ]7 R, i! E) y' k3 d        title)0 E' k  j& @# H9 r6 C2 ?8 r
  37.     print(cmd); h; ?% l8 F7 `; p  e

  38. 9 x7 n: M* g+ L( ~# f: W\" e    dll = windll.LoadLibrary("Shell32.dll")1 z0 L7 W$ n; Q( z) F
  39.     print(dll.ShellExecuteW(None,* ?, J1 r) k2 I. \- \6 \0 Q
  40.                             "open",
  41. , q/ {/ J( [/ F                            r"D:\xxx.exe",
  42. 9 e( D5 n. g+ E' {3 L8 H                            cmd, None, 1))
  43. 6 K! M/ d% D2 _  Y3 G  M, D7 e0 z5 f6 V5 {\" F; C0 b

  44. 8 [! S* S+ ^$ l3 Ddef cycle():; }) H; }( D; K; X$ ^
  45.     for i in range(40):) u, H6 L3 X9 y* j1 k. `  j
  46.         updata(i)' x* ^- K0 g# T1 m

  47. , l7 K  K$ q' K9 O6 \) \1 ^: ]1 R9 C( K
  48. if __name__ == '__main__':
  49. 8 y4 F7 y0 ~- q! Q/ W5 d    hThread = threading.Thread(target=cycle)8 `4 I8 E) v: n
  50.     hThread.setDaemon(True)' D1 ^1 }4 ^; Z$ l$ \
  51.     hThread.start()( q2 J# O2 I3 Y
  52.     hThread.join()
  53. 5 ^2 D2 ?5 c- m$ Q

+ `# w! p) o8 f' V& T% p
9 }9 G" p3 f- q! P在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~6 I, n! ^: x' v
' X! X2 p, z7 w, x) C

' R! U2 K/ f& D, F- o) v( z
转发自派生社区
Python交流群:1047602540
: |) d6 Y; y3 F4 [$ s! ~
- v* ]% E1 \! J& r( p. o- c
0 t6 a! j* @4 R
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-19 23:44 , Processed in 0.430123 second(s), 50 queries .

回顶部