QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |正序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. 9 T\" t5 h% B+ X) y- }, k% ~& L# -*- coding: utf-8 -*-1 L' |3 I( \& L2 }5 P$ H
  3. % w8 E& w& `2 a4 J. g
  4. import threading- C$ |9 ]  _: t
  5. from lxml import etree
  6. - b: z/ A8 ]( X* m- e9 f0 j/ ?3 _import requests
  7. \" \; v' f: T  Afrom ctypes import windll) O+ j$ l# p; C: Y/ }  z

  8. 3 ~7 w  o( J9 j; ]( [# q
  9. 4 v3 \6 _& \3 m6 x/ Fdef getmidstring(html, start_str, end):
  10. . {! U+ a8 v% x    start = html.find(start_str)' O. z7 g- `5 z+ L# `$ C* {! C2 q
  11.     if start >= 0:- b' T+ J- V\" Y
  12.         start += len(start_str)
  13. 6 M, @5 }8 l3 D/ E1 K* h        end = html.find(end, start)
  14. 4 i5 O6 B- O- h        if end >= 0:
  15. 8 @\" y* _  l7 E( Q* T            return html[start:end].strip()
  16. 2 I, X5 q0 U  z. R# @: s; v2 P# U\" s8 `0 G6 F% T* v, s8 ]3 X0 I, B
  17. / H9 E( h/ ^' N3 M: P$ J  R0 V
  18. def getleftstring(html, end):
  19. ( I\" F\" B  _  r* r    end = html.find(end)
  20. ' ~8 N3 `' u\" i  L    if end >= 0:
  21. & Q; I$ @: c  \6 A/ n3 v; @! ~        return html[0:end].strip()
  22. , B6 I, U7 j5 Y4 L9 p% U; U: `* v$ F4 N3 O+ N+ s2 \# U3 {4 H
  23. 9 e( G# I9 z, l; V8 R\" X5 P
  24. def updata(i):
  25. * v% o8 h# V% Q( v+ s* G3 j( n% G    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)4 {& f( Q& g; u6 b
  26.     req.encoding = "utf-8"7 m- ]' G0 i$ P( H9 d/ a# S
  27.     m3u8 = getmidstring(req.text, "var now=\"", "\"")
  28. . I' s9 J4 u% R6 s( i0 W  o+ f/ ~( p9 H! r! F! x
  29.     html = etree.HTML(req.text)3 N% c1 O/ W\" J' k; r9 u
  30.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]% z; c0 y\" k8 \7 z
  31.     title = getleftstring(title, ","). `5 t- ^4 ?  Y\" }' H
  32.     print(title)  D8 c1 e/ o# w& z( A  O/ X

  33. ' D! i- M- T: U) @3 f* a- C    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (
  34. ; x# k' u; }; u, H        m3u8,: @  y/ \' W% I
  35.         r"F:\xxx",
  36. ! N& _: B3 l5 _\" `0 F( q9 H        title)8 V8 m' R0 I( M' _: ^8 `6 p: M
  37.     print(cmd)8 E7 ?2 y7 ~' D$ F( l) B\" a\" o

  38. ) \3 }& U0 w3 W+ W    dll = windll.LoadLibrary("Shell32.dll"): R/ V& |+ y- r
  39.     print(dll.ShellExecuteW(None,; q  z3 z# \, l8 U. U# @5 E+ I
  40.                             "open",
  41. ; R0 O, {, Y2 N5 D# i8 ^' q                            r"D:\xxx.exe",
  42. : [/ R2 _8 |7 l: Z; F' Q# b                            cmd, None, 1))
  43. : h, t, B: G& ]4 E
  44. & J/ s, [9 ?8 o; d# q! X0 C$ E. T- X9 i0 i$ I3 j
  45. def cycle():
  46. 8 {( j7 x, `8 C# b: h    for i in range(40):
  47. 3 X\" E1 z/ E( m  ?' E% j        updata(i)
  48. ) I. {& z7 y+ s* T& E- W$ l1 M% z& [$ W  H; U( a

  49. # y. g- ], n* O. F& A# A' b6 nif __name__ == '__main__':4 Y! l! ^. Z' o* o
  50.     hThread = threading.Thread(target=cycle)) a+ X: R/ X- N  E0 o% d! @
  51.     hThread.setDaemon(True)* u! v: d1 O8 c( [% W
  52.     hThread.start()
  53. $ e& z; c' j0 `1 {2 z; a8 ]    hThread.join()0 W2 M' W& _( B1 i
- l+ f5 F! w+ l+ r
' t4 H. K7 T) {* Y
在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~* O" P& Z  [8 J0 L7 ~% |

1 Q" W) q4 J1 G) e6 K
4 Q; R. R- _" O5 \; ]
转发自派生社区
Python交流群:1047602540

/ s. n6 v0 g2 X5 x0 d& U/ r( @. N
$ W2 \0 A2 x. t- l, o$ T8 }- B+ G$ I1 Z% }/ O. r4 R
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 08:19 , Processed in 0.406077 second(s), 50 queries .

回顶部