QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python\" p* Z4 J# b8 J5 |+ k% _
  2. # -*- coding: utf-8 -*-0 \- z/ `+ ~: O& E- {3 e4 B$ b- T
  3. 4 b  x/ n3 B/ A1 K& e9 R3 l
  4. import threading' \* }# V9 W\" \5 Z/ F' Y
  5. from lxml import etree
  6. \" i, {& J; }, _' r7 `import requests8 o( n7 C( s$ C6 S
  7. from ctypes import windll9 x+ R0 {  O# W( c% E& C5 t

  8. 9 f; L) H, Q7 S/ S4 O- T  y3 C\" K7 Y  j1 p% f) p; ]
  9. def getmidstring(html, start_str, end):  o% }, ]9 F7 h% B, F
  10.     start = html.find(start_str)
  11. 8 s% J0 P' n+ ^\" C    if start >= 0:
  12. ' m5 d' e, ]6 S! s. V' H        start += len(start_str)1 [\" |: V% O9 f5 \
  13.         end = html.find(end, start), Z, @! M+ M  x  }1 R
  14.         if end >= 0:
  15. # B$ J$ v4 j  s3 }            return html[start:end].strip()  N5 a% }6 q! j) W, V' t
  16. \" ]! z7 @) L  a! y
  17. 2 p$ i6 x1 m* Y- `
  18. def getleftstring(html, end):
  19. $ T\" }0 o3 ?: ^5 I6 b    end = html.find(end)
  20. * ?! u5 [/ E& O4 ^6 q& o: T    if end >= 0:
  21. / U7 h- F( _: l& u0 J        return html[0:end].strip()  q6 u. w5 w: v! i. |+ b+ `6 b

  22. ! B3 u1 H8 ?/ D, D# _4 o2 b  `: L+ v
  23. * G! F& j' b4 v  g6 x: ]5 [8 Pdef updata(i):
  24. & D! Y6 i# f! @! V    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)3 T0 V. N9 U! j8 s! a  C# n
  25.     req.encoding = "utf-8"1 V3 Z  Y; A3 n$ h( \
  26.     m3u8 = getmidstring(req.text, "var now=\"", "\"")4 H% K3 ]% Y8 a
  27. ! @# x: t; d5 l
  28.     html = etree.HTML(req.text)# c  b! d! w$ `% U: N
  29.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  30. \" Y; L- k4 p' c4 t( f4 d    title = getleftstring(title, ",")) x* X) S. T# K1 z5 a- ?# V( ~
  31.     print(title)
  32. , r( J( F$ H# T' Z) y6 P: B& w& N
  33.     cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (, m8 Y1 ~6 @' U8 W5 |9 {
  34.         m3u8,
  35. 6 N$ O/ h+ ~& }8 O3 q: A5 L        r"F:\xxx",
  36. ( H* H; O! }* F3 K' A3 V$ G8 K        title)
  37. 0 z. V) y% _4 @, H- H$ |( p    print(cmd)2 ^# x7 v6 W  f* X5 _

  38. ( d: n, j* _$ x# F) C1 P! ]    dll = windll.LoadLibrary("Shell32.dll")3 u  Y# c- Z. W( |2 t
  39.     print(dll.ShellExecuteW(None,
  40. 5 @4 g( t\" u' D5 ]  L                            "open",
  41. 2 e: Z- U2 k$ b                            r"D:\xxx.exe",
  42. , n: v! ~% {\" V, g                            cmd, None, 1))
  43. + c% Q& _1 s5 s% Z0 q* h8 g# q% Y. l\" c9 j8 u3 n$ }3 S/ W
  44. 9 S2 `' J4 w7 i7 M/ @
  45. def cycle():
  46. . m( u5 J! `  H    for i in range(40):
  47. . V- Y; f* H: d% d        updata(i)
  48. 2 X1 ?/ p) Z( B7 O; q
  49. : O7 O, x/ ~! b* G7 K
  50. 7 c0 {7 D2 I' H  {if __name__ == '__main__':
  51. . C- s  l0 B- v& P    hThread = threading.Thread(target=cycle)
  52. % l$ v2 K/ ~/ w, E+ b3 t) {    hThread.setDaemon(True); x$ @  j9 S- n- ?9 M
  53.     hThread.start()1 A1 v5 f& N% Y5 f- N- z
  54.     hThread.join()# i\" Z4 G* {0 F1 P6 H

* f! W7 _( h8 J6 T. y' k9 O) |" @; L' \
在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~; ]  ~2 y" T! X. `( K6 o
! C6 b/ I# ]- O. J
" M) G8 ?: z0 ]. v5 |, V* K
转发自派生社区
Python交流群:1047602540
/ k% d& ?; p+ u- T9 G: ^( R

1 o# K/ c7 m( m7 L$ g8 I. `3 |, ^6 I; n
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-20 01:54 , Processed in 0.435823 second(s), 50 queries .

回顶部