QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. 3 }8 z) c! l! C1 o) F+ I* }9 S# -*- coding: utf-8 -*-
  3. . V0 ^& B8 v; F( J
  4. & b9 Z& _# g5 ^1 Nimport threading6 X- f) d; \8 [\" ?
  5. from lxml import etree. A, k0 f/ S; s
  6. import requests0 t7 U$ j\" I3 A- k2 n2 ]
  7. from ctypes import windll
  8. % L% I4 H8 Q- }, @1 e/ O* P- z) U3 J- d, H
  9. / ^* g9 l# R9 n- ?/ F\" {
  10. def getmidstring(html, start_str, end):* o+ O\" `5 N0 @8 ]! d) B& Y
  11.     start = html.find(start_str)\" b$ F/ k- @' p
  12.     if start >= 0:& b& s; X+ Y' |' c. @4 f
  13.         start += len(start_str)
  14. ! Q; |; ?5 z; [        end = html.find(end, start). {  W; o0 I4 Q( Z4 |\" n' a
  15.         if end >= 0:
  16. * t' h+ q: l3 p+ x& C$ x& y            return html[start:end].strip()2 k8 _0 R$ |9 k& D6 H+ [\" J4 Y
  17. 6 e( P; F, o! g: T
  18. . m0 W6 T\" W: i6 H' R
  19. def getleftstring(html, end):8 v: q5 ?4 u; [3 W. K4 e/ N
  20.     end = html.find(end)  C4 H. ]! {1 L6 l
  21.     if end >= 0:
  22. \" S+ z7 R8 F8 ?* l        return html[0:end].strip()\" ^! F  V9 W\" a

  23. ' Y! @. \7 ^8 O. G) E; h, @+ ~
  24. \" J  ]+ m9 n1 u. ^def updata(i):* [: h, i8 g\" C$ D2 k$ S  }
  25.     req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)+ S+ G\" f; [/ G6 U. Z7 O- ]1 I
  26.     req.encoding = "utf-8"% q( B% W- s* \3 R3 A, ?/ z& x! K
  27.     m3u8 = getmidstring(req.text, "var now=\"", "\"")
  28. 4 U( z5 c: D: p, T' ?; X0 O+ [
  29. \" O+ s- t/ ^2 S/ h    html = etree.HTML(req.text)\" q: j1 A- a9 b8 G) c$ I. q
  30.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]7 w) d6 q8 _. R- w; `3 a
  31.     title = getleftstring(title, ",")) X5 X3 S$ }/ |; y9 q# H5 o; `5 L% c
  32.     print(title)
  33. ( ~  B( A8 ]9 e2 S: {) Z7 J3 \3 @4 e# T% {8 `
  34.     cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (; L! y. ?\" W' m6 A( P6 X: l) p
  35.         m3u8,\" h\" g* }. n\" M1 R! c  p5 y0 [: m2 I
  36.         r"F:\xxx",
  37.   o5 l\" N1 U\" C+ i. ^: o8 u        title); m; {' K  P$ m1 F9 T$ I
  38.     print(cmd)# M# c- d  Z& D9 t0 D- s
  39. \" x% {! E) K0 R- T' E
  40.     dll = windll.LoadLibrary("Shell32.dll")
  41.   M1 s\" E& i! I- g3 ^    print(dll.ShellExecuteW(None,
  42. ( W0 M  g* ^5 l                            "open",2 t/ I# e, J: t8 k( t, @
  43.                             r"D:\xxx.exe",, x\" E1 r: W! a5 J: b& p# x
  44.                             cmd, None, 1))5 i) M- h4 F* G

  45. ' b( I0 F( {0 D& m
  46. ) o% {! F, X2 Q( ?: t2 edef cycle():% Y& A- V+ q; K0 j( f5 X
  47.     for i in range(40):. t$ h) @: }: w0 c9 [+ K
  48.         updata(i)
  49. ! j\" Q6 N. E4 q3 I4 D
  50. . [2 [3 d% C, K# d  G
  51. * e$ `( g8 V: [! q: [8 Iif __name__ == '__main__':* W\" [\" q. u! c3 Q, O
  52.     hThread = threading.Thread(target=cycle)
  53. + N$ _- a3 ?7 ~$ d7 m    hThread.setDaemon(True)
  54. / ~3 U4 X- w% {/ a! p    hThread.start()
  55. ) d) H- @9 r4 l  A) K: K    hThread.join()# l8 N% G% q* j& b% S& m  X

, G( {/ V; m  H; w
4 v& S% L3 |8 _  v. ?在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
; |5 C* k5 s  Q6 H. o" B( l
$ u, a8 S, v2 C  P( A/ J' k
9 |, t0 }- z, j- p
转发自派生社区
Python交流群:1047602540
+ U1 s9 B8 w* d2 e8 Z
$ w8 x" ?. m: q, Z/ |& k! z/ b2 o
0 X2 q* i$ \3 o0 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, 2026-9-2 01:55 , Processed in 0.330585 second(s), 50 queries .

回顶部