QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. 5 K\" l$ r! y1 l9 z* s2 A5 P# -*- coding: utf-8 -*-
  3. ! G3 ^3 S2 A/ g7 {. c- @5 }+ k! F7 p8 P: c3 i; l1 {  }, b
  4. import threading* U& O0 n# l! ?
  5. from lxml import etree, N) G7 f0 W( r1 H- }
  6. import requests0 M! G$ O( \1 Q2 n, `6 L
  7. from ctypes import windll! x' A8 \$ v- d' N) N4 }
  8. : Y5 u( _5 q/ a7 h

  9. 3 G  s8 W) ~/ {! cdef getmidstring(html, start_str, end):3 r5 L# T, n# }! G% G: x- Q+ v1 J
  10.     start = html.find(start_str)6 |% J% D+ {: E4 \! o0 E2 X5 M, G\" B
  11.     if start >= 0:
  12. * \& S+ n) g+ |        start += len(start_str); U& u$ D+ u% t( x9 M! X+ T
  13.         end = html.find(end, start)
  14. ; x6 J8 n0 ]; N8 h0 V4 l        if end >= 0:; S9 S% @( c6 c
  15.             return html[start:end].strip()
  16. ; a, b, g4 H2 ~6 q% l, d$ C\" m! c3 u3 o+ b7 ?

  17. * l6 E9 C; G; H8 r: a, o& c' jdef getleftstring(html, end):' Y! J5 v2 _* {( n, G  j4 m
  18.     end = html.find(end): Q. h; n' s! o' h
  19.     if end >= 0:1 V$ _' f0 V! C( n' t2 S  ]
  20.         return html[0:end].strip()
  21. 4 I1 Z2 h+ Q* h7 n- b( K2 Q( W5 C. ?) A% D

  22. 0 Y/ ~( {# ?5 _2 @- W* x2 q( w; `def updata(i):
  23. 3 I4 J' _: T+ G6 P    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)  c( O* s8 S6 }6 h9 R/ J% U5 r' D
  24.     req.encoding = "utf-8"
  25. ) k- T6 G+ [8 r4 Q3 Y0 u1 ^1 i8 v    m3u8 = getmidstring(req.text, "var now=\"", "\"")
  26. & h* l2 F0 ^1 Z, }6 q6 [, C& y9 O' _: W/ o4 |) m
  27.     html = etree.HTML(req.text)1 T; r7 N5 a- e* ?% X3 w; L9 Z
  28.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  29. 4 V3 d$ p2 Y( ]% g& a: B    title = getleftstring(title, ",")
  30. 8 j# u( w. a8 [& L2 L    print(title)
  31. / j& T' H4 k) a- N* b5 E
  32. 6 n0 d1 X6 Z\" z5 h0 @! a9 F    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (
  33. ( R5 Y% S2 a2 R! A        m3u8,
  34. 0 ^& A$ |6 t  u, S5 U7 Q        r"F:\xxx",
  35. * ?: G7 z' l% D* L2 N4 {. \8 ~\" t, f        title)  [* q% s# I( ]% A0 T( e9 l! h
  36.     print(cmd)
  37. / T0 N+ S- N( t\" b' L) p( n5 K7 Z\" W4 v\" g
  38.     dll = windll.LoadLibrary("Shell32.dll")2 `4 g3 A3 ?1 C& f$ k! \
  39.     print(dll.ShellExecuteW(None,7 X3 c1 W7 s5 M
  40.                             "open",  [, b. r- O! ~0 }& R0 t
  41.                             r"D:\xxx.exe",7 q9 `1 `. |! h+ a+ }. q8 d% C
  42.                             cmd, None, 1))
  43. # F5 a( u' v8 q; \
  44. 5 c8 N$ `7 S\" B( k4 F
  45. , M# ^0 E( ~- zdef cycle():
  46. 4 W% Y* }/ Z+ G    for i in range(40):
  47. # h3 a! X\" r6 }        updata(i)
  48. 5 w$ b/ ?# N! P1 [+ C
  49. 9 {* p7 r$ e/ V' a) e
  50. & g7 q+ @& r3 C* }1 d; _# f+ Jif __name__ == '__main__':! G# X1 R; g  ]) V: A
  51.     hThread = threading.Thread(target=cycle)
  52. 1 U3 I. q- J8 [! S% _% t    hThread.setDaemon(True)
  53. ) Z0 k- {6 e\" @8 e+ H5 x    hThread.start()
  54. , H$ f8 ^# o6 Y! [- J3 K    hThread.join()
  55. % b9 y! M- ~& a

; ~' S' O6 m8 @! r2 c& l: y. n2 p
' n1 f3 J. ~" A, [在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~3 Z. f& G  w3 [. I8 D

& p5 \+ N/ G2 I# ?1 t2 O5 T0 _* f- K4 r9 R
转发自派生社区
Python交流群:1047602540
2 f+ M, s; i6 [4 k' c' G, b5 z& k

& Z& s0 B+ R4 M/ a3 o/ c/ R8 i5 v0 _& ]( C% z" R. V
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, 2025-8-22 03:11 , Processed in 0.739422 second(s), 49 queries .

回顶部