QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. 5 e; I7 E; S) M  t6 d# k; o; u3 G# -*- coding: utf-8 -*-) R& P: I! X' ~- c7 x, V
  3. ; k) R: `6 ?5 ^7 a1 [1 W# R6 o
  4. import threading
  5. ( R: p2 ^( o& x- G  |3 E\" Ifrom lxml import etree1 p3 ~\" r, Z2 w% |1 `1 Z1 p$ d% v
  6. import requests  t+ b8 n' j/ y5 Y6 H9 D) M* _2 H
  7. from ctypes import windll. V' v- h) x. a9 b\" \; _/ {

  8. ( K5 w  |' M; n7 A- z/ X5 X* d0 F  o% c1 r/ K6 [2 i) n1 t3 `
  9. def getmidstring(html, start_str, end):
  10. . k+ w  ]: ?& y    start = html.find(start_str)
  11. 0 S6 Z1 G1 j; O: j7 s    if start >= 0:& Q% t0 }! p/ n. C5 b
  12.         start += len(start_str); U5 S\" H\" e' [$ v: \/ D
  13.         end = html.find(end, start)# L: v; t2 w1 J6 `  _( |3 \
  14.         if end >= 0:( t( t$ s* ~) j& \9 o4 @: ]
  15.             return html[start:end].strip()\" l7 f5 W' r3 @- L% S, M2 `1 r

  16. + @0 U# A* c$ \& `; |+ }
  17. ! h+ r7 H: v4 F! b8 C7 C2 C\" Kdef getleftstring(html, end):7 V# A& c( D4 ^2 n7 R
  18.     end = html.find(end)
  19. $ ~; T1 Z9 ^' D+ o' z/ a1 j0 T  F$ L    if end >= 0:
  20. 8 q& A0 a% S* C# q        return html[0:end].strip()/ u$ a; Y9 t: `$ p
  21. ' z6 z1 s7 G5 E\" j1 U: o
  22.   _* `: W/ @3 L* c
  23. def updata(i):# P: }\" U- o\" E6 p; ?' k. L
  24.     req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  25. & g' J/ r3 i4 S- t/ T! D    req.encoding = "utf-8"
  26. 4 f0 r0 E7 I\" v$ x2 q    m3u8 = getmidstring(req.text, "var now=\"", "\"")
  27. $ f4 d1 g' X) X$ y6 X2 v( `/ A) T3 _2 t0 Z7 E
  28.     html = etree.HTML(req.text)& e3 c; p4 {* U4 o5 ]
  29.     title = html.xpath("//meta[@name=\"description\"]/@content")[0]5 g* Y4 j1 R; K- v, K- w
  30.     title = getleftstring(title, ",")
  31. ) c( }' B. W& e& J    print(title)
  32. ! q8 G, f! [  a1 S: u9 ]0 g2 Z* ]  U( B* f% V0 d
  33.     cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % () c8 U2 h1 q( J
  34.         m3u8,
  35. ; R$ t1 X0 d  M3 ~  U( C        r"F:\xxx",1 E) O+ ]+ e' S  C
  36.         title)5 I- n# e. J. r3 j# N0 l9 N
  37.     print(cmd)
  38. & w  u% r( H: `+ |* d* f
  39. ( u- [/ O( R( u. K9 o; O$ e, u  j    dll = windll.LoadLibrary("Shell32.dll")7 g6 P( z3 e0 O9 U) `4 C
  40.     print(dll.ShellExecuteW(None,4 J2 f+ S4 r/ L1 P  S3 Y2 t( Y
  41.                             "open",
  42. , k2 T) E2 Y% ~! ]) Y$ H                            r"D:\xxx.exe",
  43. # `! J\" ~. v! r( f& r. l1 t                            cmd, None, 1))  g7 v4 J- S+ u* B8 H3 J

  44. 5 U( L- H& G: l  B# E  D1 r) ~* @
  45. : K; Z7 s4 |& I7 Tdef cycle():
  46. * q, C0 x( l. l  j. w    for i in range(40):8 Z6 [0 t8 J4 E( ~# U
  47.         updata(i)( g\" Z& L# b! p! ~0 u/ Y

  48. ! e+ U+ A8 a  u7 F1 \; ]1 J/ ]- y& H4 {5 G5 W( y. C6 w- ?1 b
  49. if __name__ == '__main__':
  50. 0 t( _: s; R, ]0 M( Y! ^4 o    hThread = threading.Thread(target=cycle)
  51. 1 G* j: v, l. D    hThread.setDaemon(True)
  52. : F9 ]( e! f. ?    hThread.start()) r( F9 n: {; T& i( w' w6 E
  53.     hThread.join()
  54. ) |6 A- G' O9 v  q7 D

/ e! z% _" S* {/ Y2 U! f" I( r, \
- e! }0 |' g( e$ G在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
% p& V! D7 v; Q1 u% O# O, }% J! {
: u) P* E7 Z% P. I& e: j  K
转发自派生社区
Python交流群:1047602540
# r; Y  ]- W7 e+ T( L

5 k  S7 J6 M3 R; `) @$ m6 Y5 i. [  K+ M6 z5 _' z
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, 2025-8-19 14:24 , Processed in 0.348295 second(s), 54 queries .

回顶部