QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python2 c8 v8 x5 j0 p& X+ h
  2. # -*- coding: utf-8 -*-( {# B- t) G: m, v
  3.   {9 q: `/ y  r! q8 T' T
  4. import threading, R: o1 ~& k1 C% X# Z
  5. from lxml import etree
  6. , |* h9 w' L# }# u& eimport requests
  7. / w0 z8 U: N; J. Yfrom ctypes import windll
  8. - ^9 A/ Q0 O/ J; p7 P9 x1 D' k, t) ?+ X8 v- u6 a4 r

  9. # Q* x2 I! t! J\" Adef getmidstring(html, start_str, end):% i( A3 K- A) ^9 f+ ?9 t
  10.     start = html.find(start_str)- T8 R( I3 h8 h, F/ Z$ P9 Q
  11.     if start >= 0:/ V% T4 \* K% b( a2 }+ U0 C
  12.         start += len(start_str)
  13. \" E3 P  s1 Y9 b        end = html.find(end, start)1 y* Q1 x- ~\" K8 i
  14.         if end >= 0:
  15. 2 q4 v% q0 X0 K            return html[start:end].strip(). n% |, _* X4 b, e$ c

  16. 1 ?/ E% M  z2 V, z  m1 b0 f; v6 b9 j/ Q! Z
  17. def getleftstring(html, end):
  18. * F4 H3 I2 g8 W( s$ Y    end = html.find(end)$ e/ B/ h3 i6 j/ n/ V
  19.     if end >= 0:
  20. 2 x+ j$ t$ l: |5 G- ^1 K2 v        return html[0:end].strip()( X2 H3 q- F. N\" m
  21. 9 c  b\" a8 F/ k- N. P% T  g\" H+ H

  22. & F) T! Q. x: ~$ _. K, c0 vdef updata(i):
  23. ' B2 v+ I2 f- C    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  24. 8 `, }8 @1 G6 ]0 Q7 Z) m    req.encoding = "utf-8"
  25. $ `' ]2 v, b6 c+ `1 w; [5 f    m3u8 = getmidstring(req.text, "var now=\"", "\"")
  26. , W( ]\" N( ]; ^5 Q6 a$ m9 U- |$ E. X1 y
  27.     html = etree.HTML(req.text)
  28. ; Z$ z2 ^\" ]8 i9 b9 @, H8 g    title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  29. , G2 U1 {6 Y  Z    title = getleftstring(title, ",")
  30. 5 X$ d9 H3 v4 i* A    print(title)
  31. ( \: h  b. D0 k8 x8 s' l  ?' a3 c& B& A4 c
  32.     cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (. q! Z: B9 f) q. [$ J' u& B
  33.         m3u8,
  34. 4 V: _: M2 U0 ]- [/ O        r"F:\xxx",8 ]  ^\" E* k+ s1 c* N7 W3 V
  35.         title)\" F9 N! K( m$ G7 E$ W3 D
  36.     print(cmd)( W, {1 j* |% @. T
  37. & ^( k$ W* P  p\" o
  38.     dll = windll.LoadLibrary("Shell32.dll")& b/ x  C7 j; `% S' |5 u
  39.     print(dll.ShellExecuteW(None,& l3 i5 s* Y6 U$ z) }3 l& i
  40.                             "open",
  41. ! Q+ i\" ^6 p  e* V                            r"D:\xxx.exe",
  42.   n# G\" e+ _$ c4 m& F( C8 a0 \                            cmd, None, 1))3 w+ @) _+ `% k9 ?$ g
  43. 7 x4 R- i2 s2 A  C4 C% c2 c

  44. % K6 U% G' V2 J+ Xdef cycle():
  45. : r! s6 P: a; T( p+ `  k: [$ J    for i in range(40):
  46. ( v* z0 x9 I; \) B, s% f        updata(i)0 d! Z* @0 K5 V* ^. G
  47. : w. g7 w\" W( P$ ^8 Y

  48. - V# H# A8 m. z! ^1 F# O  W* xif __name__ == '__main__':
  49. $ |+ J* o- M- Z7 \6 P    hThread = threading.Thread(target=cycle)
  50. 7 B/ Y% e6 o. H7 t! r    hThread.setDaemon(True)7 U3 \4 q7 o\" O) M; x* v6 Y
  51.     hThread.start(), c& K\" i$ [9 j0 Q- }
  52.     hThread.join()
  53. % a  x! n+ }+ n

  f& u4 L1 |* L6 m& r: F0 m% B& M6 m
在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
% Z2 k$ [( z3 B' i3 o9 O
3 W" b) J. }+ H  s4 b% p, _. Z' j' S! r/ J" d
转发自派生社区
Python交流群:1047602540
; b8 B4 E; |' `8 Z* q, M
! C$ P! ?- ]* X+ F

3 h% W( s+ w: O( D, G, ]! O
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 13:28 , Processed in 0.408661 second(s), 50 queries .

回顶部