QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |正序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. ( V' @# o! C% D; l# -*- coding: utf-8 -*-
  3. 7 A- R) O( f: U' x3 R% C$ a# \' j\" h/ c) g
  4. import threading  |/ J) a' ^% y  O* R
  5. from lxml import etree
  6.   Z4 x, p8 t4 R; m# U1 \import requests
  7. ! h8 {0 I$ p3 F4 ^( N  C  D0 Afrom ctypes import windll7 L/ `4 {5 J- Z: H# Z3 H\" u
  8. 9 `) d! H3 f0 N: r6 j# e  Z1 k8 T
  9.   [7 ]0 m- b- z7 j2 h: M
  10. def getmidstring(html, start_str, end):6 h4 u; u$ o( r6 K& p6 ?- A- }, V0 w
  11.     start = html.find(start_str)- g8 K; J) G, V# j6 l
  12.     if start >= 0:  h0 U) J# W1 k* H8 D0 r
  13.         start += len(start_str)\" Z: d: i; K& n# \\" f
  14.         end = html.find(end, start)- f# d; X8 a; L  K( z9 T1 a1 G
  15.         if end >= 0:
  16. 2 n: r( p+ a) I+ K% {- y; O8 @            return html[start:end].strip()* R% B8 x$ L1 F2 b3 N2 Y. E  R% ?
  17. 7 B/ o$ T/ [. I6 q/ c# Q8 A/ c7 J

  18. + |/ ]9 K2 \  @' n8 ^! X% Kdef getleftstring(html, end):& _& F& q) R, N\" D7 B! N- {3 G. \
  19.     end = html.find(end)
  20. ' Y4 U! H, {2 x7 ~5 L7 ]6 T    if end >= 0:
  21. ) l: }1 o' @/ t- {7 v& f! O1 H        return html[0:end].strip()
  22. % P) {: |% V; ]0 c$ M. b
  23. % p: v+ [# ]& z
  24. ( d/ w. T5 W$ X7 w% _def updata(i):
  25. / P4 \) }1 m* _0 Y8 }    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)7 r3 q# n1 g; ^\" y& _1 Z. a  j
  26.     req.encoding = "utf-8"  S0 Q+ }$ I$ N
  27.     m3u8 = getmidstring(req.text, "var now=\"", "\"")6 P: D- C. R# ]1 W' s# ?, P! F& l) i

  28. ; e- m' L2 W8 A1 A% r* j8 A    html = etree.HTML(req.text)) G2 }9 V' D) K0 p2 x1 y) u
  29.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]% V5 k3 W( _- q\" c  G: x- I5 U1 g
  30.     title = getleftstring(title, ",")
  31. ! w% a! [* c- j! q- `6 r\" C' c/ m* i    print(title)
  32. 3 n: A( I5 E3 }- x6 T/ y* ^) U
  33. , }4 y/ Y# M1 N/ e- ^    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (2 d3 D- I# f: L; d* V1 }+ i' W. t\" H
  34.         m3u8,
  35. 4 o/ f1 U; E0 ^$ V        r"F:\xxx",- y3 F* @; a. z5 \/ r. E
  36.         title)* @/ L. w9 a9 {5 N- M2 U; t& i! u
  37.     print(cmd)0 ], c. a6 b( Y
  38. \" [0 Y, g1 s( ?/ h
  39.     dll = windll.LoadLibrary("Shell32.dll")
  40. / J( s+ S$ {9 a/ r( U1 N    print(dll.ShellExecuteW(None,
  41. % m5 r5 F  ^2 ]& Y$ O, i+ J                            "open",8 ?# Q, I6 M, D: @- z
  42.                             r"D:\xxx.exe",
  43. ) S2 S1 |* r% [! m8 ]                            cmd, None, 1))+ K' v; f- Z: ?4 @6 f9 x
  44. $ C1 _( l1 Y# M8 s% ?
  45. \" g$ s7 @5 N: ~: y4 g- R
  46. def cycle():
  47. - a7 D2 `' w  v8 P4 d- ], V    for i in range(40):
  48. / ?6 e% P6 U1 j0 ^5 @% P        updata(i); L* ^6 H& D, J
  49. ! s; }3 ]* Y' A0 w2 z& d6 y
  50. 0 C9 M8 j9 {6 Q5 D+ t& {
  51. if __name__ == '__main__':9 O' e! Y& t' E8 |
  52.     hThread = threading.Thread(target=cycle)0 U0 s; F( k7 ^7 `4 E/ M
  53.     hThread.setDaemon(True)
  54. # |2 u\" f5 ?) ^: C+ X\" ^    hThread.start()8 H  m+ e8 t$ V( x( T2 ?- b: _
  55.     hThread.join()
  56. . n% p+ t; I% b6 D
! g9 ?& _0 ]: e# l) Q9 a7 q

9 q" w) s& F/ L. i+ Z7 l3 K$ K在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
+ J: R9 U% n8 A( L
$ [/ e7 y- }- @2 R
4 w3 H( ~* r! g: D
转发自派生社区
Python交流群:1047602540

. |6 N7 |+ r" H- g) t8 `9 u4 |# ]% L
; E& M8 f( k. Z- t/ O6 d- B: T9 r2 U
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 12:38 , Processed in 4.383182 second(s), 50 queries .

回顶部