QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python( y( ]4 F\" q\" H# ?4 n
  2. # -*- coding: utf-8 -*-
  3. * q( U9 K8 g2 b\" L; @  |4 p
  4. \" W/ n( ^  c\" e- ?import threading
  5. 0 q; F8 Q8 S3 {( y5 Hfrom lxml import etree8 P  @' e. u3 d
  6. import requests# d1 A  V$ z  ?, c8 ^
  7. from ctypes import windll
  8. ) R. F5 K7 Q6 E$ d4 E# U6 d: ^1 C7 C3 r; D7 J3 Q

  9.   {8 R: u2 p0 v0 Q# m$ z+ _\" `def getmidstring(html, start_str, end):8 E7 v4 H* _1 r! B
  10.     start = html.find(start_str): B4 H7 N5 p: {1 g
  11.     if start >= 0:
  12. & p9 `$ E* _; o5 A0 N        start += len(start_str)$ i  \8 z$ O9 o- r. i
  13.         end = html.find(end, start)
  14. 7 w0 g; n& g/ v! j\" j0 o3 ?        if end >= 0:( z4 A  X3 F. I\" m  A
  15.             return html[start:end].strip()' V! t+ P/ G4 f' q5 W) q6 m\" v5 B+ X

  16. 9 ]+ C3 }7 ]4 U+ m! Q  _; O
  17. + h+ V\" _6 T6 _\" g8 jdef getleftstring(html, end):
  18. 8 j\" o3 S0 D\" b    end = html.find(end)
  19. ; D8 |% W0 q8 z    if end >= 0:
  20. - {  J8 ?6 I+ P0 V5 t+ s9 g. ?        return html[0:end].strip()! c9 e$ g( T* S# X8 B! t5 \

  21. 1 E0 `: G( M  F5 p+ e, X$ l( z/ K8 K. ~, m\" ~& N+ f7 M
  22. def updata(i):8 Y/ [\" |( g5 T5 \# A1 v
  23.     req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  24. % ^. g' F4 Y$ x! U    req.encoding = "utf-8"
  25. . z( R$ Q% T& R: ?! a: F    m3u8 = getmidstring(req.text, "var now=\"", "\"")
  26. 8 a$ f* F- D$ n3 M% z; `7 _# ^. s0 P! R* S8 e1 B( J
  27.     html = etree.HTML(req.text)# P9 ~+ y8 Q: i\" [  h: q- C* T9 [7 H
  28.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  29. ( V# T6 e* D* s. C) M; r1 s    title = getleftstring(title, ",")
  30. + Z9 ^& f% E7 P# q& c9 L- o# J    print(title)
  31. 1 ]1 X  i( q+ d- E* X7 v
  32. 2 P+ S; L' P: {) ?    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (+ ~, ^+ `1 c9 q, V2 T. E
  33.         m3u8,
  34. ' m1 C0 N. C6 `+ [' E: B  v        r"F:\xxx",
  35. . G9 u3 ?3 L0 \( F7 Z        title)
  36. 8 m* Z2 B: v\" r2 k% U    print(cmd)
  37. ) e+ d9 b) A0 O1 x# L& ^4 v: z3 `8 W' P% N' Q! ?. v
  38.     dll = windll.LoadLibrary("Shell32.dll")
  39. 5 @7 c  P4 R% z9 i- d    print(dll.ShellExecuteW(None,
  40. . F5 }: P& [8 b3 `                            "open",
  41. ( d  c1 _9 t( o  e* ~                            r"D:\xxx.exe",  o( M. o) x5 K
  42.                             cmd, None, 1))0 {8 W3 {7 U; p2 C/ C+ w/ g! ]3 |

  43. $ h* t/ F9 s8 }6 n8 h; C3 ~1 i$ D; D( m' @+ w/ Y- u4 T
  44. def cycle():
  45. ( ?8 b$ i$ k; Z- L    for i in range(40):
  46. 6 F: W1 a* l5 ^        updata(i)& B2 d7 U  Q' V. G
  47. 8 u8 p$ G, n+ W\" y6 Q0 L

  48. 8 e1 I  P# E4 B5 v/ \) yif __name__ == '__main__':\" R* ?5 i9 P\" J4 ]0 I' s
  49.     hThread = threading.Thread(target=cycle)0 q$ v9 |  j+ K5 P) |
  50.     hThread.setDaemon(True)
  51. ' H6 Q- y; R. {    hThread.start()
  52. 0 l! L, R4 Q* \9 K5 E& W    hThread.join()$ q% t& x7 i! p4 c
# ]5 _. F1 `3 ~0 ?& o4 W

& Q2 b, F6 B+ [- f: U/ z在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~4 I' B! a- l* L! M: ^- y+ T2 _5 K

; o6 L. @( U" y. d
( ^/ ~4 {) c# y8 w/ v/ Y  p- S
转发自派生社区
Python交流群:1047602540
! z( q0 L' o- o) b1 Q) c1 k9 A

; H' M1 A! n, C: t4 X# v+ F  w8 s5 m# 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-10-17 06:58 , Processed in 1.430062 second(s), 49 queries .

回顶部