QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python  R9 b5 t& k( D3 b
  2. # -*- coding: utf-8 -*-! R( R8 E+ H' t

  3. 7 k, e. P4 R* C: q# O# Limport threading
  4. 6 o) }: E  m2 X' z, F' c) |/ ^, J7 ffrom lxml import etree
  5. 6 K/ u5 G\" p5 |4 k6 N5 p1 v& B# simport requests
  6. , l3 h1 C% f* M* D6 _from ctypes import windll
  7. & r* E4 s+ h\" l, N
  8. 2 `3 R5 `! K) I* V0 w4 ^  I8 g( v' K0 P6 Q
  9. def getmidstring(html, start_str, end):
  10. 0 _) `, i- |1 E7 ^    start = html.find(start_str)
  11. , Y  e# @0 i8 L' u  A2 a    if start >= 0:/ Y+ @: L0 @; b6 A& r3 c
  12.         start += len(start_str)) ~6 g3 n\" l- N: W
  13.         end = html.find(end, start)
  14. 7 c+ [+ c0 Y4 Q7 c' E        if end >= 0:- u% }1 \% Z- F+ i; g5 @$ P
  15.             return html[start:end].strip()$ r9 D5 t' i) g, B\" \. M

  16. 6 l& n\" M\" r' k9 z& u0 K. ^
  17. + X6 w8 u, O: k  w+ edef getleftstring(html, end):
  18. ) A% d, [( q$ r1 \$ F! E- X8 I    end = html.find(end)# ]3 ^7 S; v6 ]6 M' l
  19.     if end >= 0:
  20. ; ]+ {, i% i$ E; j, ~        return html[0:end].strip()
  21. , ^2 ~; P! f0 t# w, T; J6 ^1 j. T! X, B
  22. : }& z! y& z& H
  23. def updata(i):
  24. , e( f) L! t  g    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)/ T3 k! n, ~# b% u. X
  25.     req.encoding = "utf-8") r\" x7 e4 h7 O* f. }+ F/ I2 M
  26.     m3u8 = getmidstring(req.text, "var now=\"", "\"")
  27. \" N7 J. J# Z3 G1 N1 {& N! E; P7 h; A. A0 `* h
  28.     html = etree.HTML(req.text)
  29. 6 x* O8 j! X\" P, D5 M  |7 a$ ^    title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  30. ; D/ H* F1 T9 B! I    title = getleftstring(title, ",")+ v0 v3 w% Y! j
  31.     print(title)# L7 e0 U1 L  L+ n$ S/ b

  32. 1 ]. d( L; k\" S, H2 v/ [    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (
  33. \" @' {( Y% g: N  @7 h        m3u8,
  34. ( P0 t' z3 q- N# ?; }0 D( k5 r7 Z        r"F:\xxx",0 w6 S, z. \\" r6 V: A9 E, N2 C\" u) L
  35.         title)0 \# B+ G8 w8 w- o( q7 Z\" x  @
  36.     print(cmd)
  37. ' q, E/ P% F\" k\" {/ H
  38. / a4 m* u2 @  l$ {    dll = windll.LoadLibrary("Shell32.dll")9 T# P) U  b. f
  39.     print(dll.ShellExecuteW(None,- Y$ Y. M3 z* B% t
  40.                             "open",
  41. * V( F/ D9 b8 O4 T. {                            r"D:\xxx.exe",2 g7 Y' Q7 _1 ?0 z# Q  q
  42.                             cmd, None, 1))\" M4 m$ s\" `7 V( p( H: h
  43. 3 n1 K+ R- l# {( }( {) l
  44. ( u\" l4 G& j( W  A# S8 G% S
  45. def cycle():$ t* n2 }+ q) A  c* Q( m3 o
  46.     for i in range(40):
  47. % h! G! O4 B6 ~' a+ U( t, M; f7 y. i        updata(i)
  48. ( H' R) L4 K0 ?3 j$ v+ R) E' v
  49. 6 [* \9 W' n! L0 p) z1 v1 B$ [) u( J6 o8 J; c3 @  I$ V
  50. if __name__ == '__main__':
  51. 1 y- ^\" s( K0 R4 l3 _+ l    hThread = threading.Thread(target=cycle)
  52. 5 k) T$ \' x2 P7 v1 y% L\" S8 A' o    hThread.setDaemon(True)\" U\" F* G6 i$ q) e/ F7 g  X
  53.     hThread.start()
  54. : \- I& y! W\" @# [0 }4 r+ X    hThread.join()
  55. \" n6 }( P* t5 h

) H5 t6 `/ g4 L1 H" O6 N) m1 f& ^/ N5 i* i
在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
3 S0 L* G$ g! G, w( }' z4 u; [4 c, Q; [( K" n8 x- }; v( _

7 S# C; V' n# d2 ?4 U! o* K; |
转发自派生社区
Python交流群:1047602540
! c! |1 ^6 v0 ~  ?8 Q6 w

, M+ P. _- m, a, d2 K, f! H7 G/ c0 T6 j4 P( @) w# `
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-6-3 01:49 , Processed in 0.418140 second(s), 50 queries .

回顶部