QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python
  2. . O1 ?# u% s  K1 e# -*- coding: utf-8 -*-2 Q- X' s  V' c8 d4 r9 I
  3. ' m: T. o  v. I( U- g4 j  m
  4. import threading7 S* X\" o, X6 a5 w2 ~7 T8 H
  5. from lxml import etree
  6. % v5 w* `9 D: E8 S3 D1 ?import requests
  7. 0 }  d9 J* t( `& z& tfrom ctypes import windll8 ]7 A$ p* l9 H( Z4 Q

  8. : h1 a6 A7 v1 M% N: ]# X6 W( @: _6 i# M& g. N; h+ @
  9. def getmidstring(html, start_str, end):- k\" d\" q3 {. w- B( _, E5 _7 s: ]
  10.     start = html.find(start_str)
  11. ! i: @1 x. W5 W+ g- s1 u    if start >= 0:
  12. $ J& w7 `; K4 @, B9 H5 j        start += len(start_str)* T0 |1 {) @3 X/ R- c
  13.         end = html.find(end, start)5 C. K# q\" A. H8 w' J\" f' n
  14.         if end >= 0:% c% y/ `8 l2 U
  15.             return html[start:end].strip()
  16. . ~& c9 \( e& R9 U$ h7 ^& ?
  17. / e7 V9 x, _& E! ~$ x  n
  18. 7 _( }- _2 F/ Xdef getleftstring(html, end):
  19. / L) D: d' W% J: V    end = html.find(end)2 a% z& W2 O+ K6 l
  20.     if end >= 0:
  21. * W9 I2 F\" X) A  ?        return html[0:end].strip()) _: u) H% Z( S3 J

  22. 5 C% E: x5 c% c4 ~  a9 J3 Z5 M0 b: B9 A
  23. def updata(i):
  24. - w, G3 Q+ W$ e$ d/ L    req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  25. ( Y' O$ y, n9 A, N: L& y% k    req.encoding = "utf-8"5 D- o$ |3 G$ D( H$ e0 c% b( m
  26.     m3u8 = getmidstring(req.text, "var now=\"", "\"")
  27. ( l! k3 y$ i' V4 l5 q0 J! l5 J! ]\" Q0 N- T2 }
  28.     html = etree.HTML(req.text)
  29. ( B8 h: S6 N- Q3 G' ]    title = html.xpath("//meta[@name=\"description\"]/@content")[0]
  30. / `! R# @) I8 S  y    title = getleftstring(title, ",")
  31. + w/ g' u% W4 P9 `( X' ^/ t    print(title)
  32. 7 t. M- A# j% B) Q0 w+ [) t1 _! S' `0 G
  33.     cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (7 B0 I$ ?8 c6 a4 O6 ~  a
  34.         m3u8,
  35. 8 z, J. p# @( |4 G        r"F:\xxx",
  36. 3 ^0 }2 F% ^) R: B7 k        title)1 _, Z4 g) Z1 n7 b
  37.     print(cmd)
  38. 9 W  h* h% O, z5 I
  39. 1 ?: c: u: @. l0 K* [! d7 N& A    dll = windll.LoadLibrary("Shell32.dll")
  40. 9 L! [7 ^! u: R/ u$ U: j$ }    print(dll.ShellExecuteW(None,( V3 G- @8 c$ S\" v. W3 S4 m3 n3 J
  41.                             "open",5 A2 @  z- d! M3 t# o
  42.                             r"D:\xxx.exe",
  43. $ P( c% f+ T8 ]2 G9 B2 K+ `                            cmd, None, 1))
  44. 1 A* T* `\" j- e0 M( p2 C9 s  J; V; r& G1 N) E, B  m0 Q
  45. $ O0 H- a8 b; e4 d* ?( S; t4 A/ S
  46. def cycle():4 S- Z, n/ c$ b: n
  47.     for i in range(40):
  48. ( L3 {6 W. N+ T        updata(i)0 a& y# A# e9 g% N3 {. b+ ]
  49. 9 y. u5 g% _2 H! a+ F4 H

  50. , A/ S+ y) q! w- Z  \/ Qif __name__ == '__main__':
  51. , U+ [# r9 i2 u4 i- y\" q& C    hThread = threading.Thread(target=cycle)7 G1 D- v  L# n7 z# Y\" O3 |$ }
  52.     hThread.setDaemon(True)
  53. 0 _3 u) g7 o1 D' M3 x2 X! Q, J    hThread.start()
  54. ! P# R/ V, }: p+ Z/ j* q& L    hThread.join()
  55. / u% Y! ?7 p/ F. G

- u% a. n* H' W
! S& o4 }7 k/ k. y) b7 a在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~5 U  B6 }$ J% ]

& ~# Z( j# g" U6 n+ Z" F$ Q
' T4 ], R1 R6 |$ I$ D
转发自派生社区
Python交流群:1047602540

1 C* O8 F- |" ~. c( @. i; M, u5 }" g9 H: Z

5 m% ~* r* z/ ?. T0 ?  k) \' c
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-6-2 22:37 , Processed in 0.542714 second(s), 49 queries .

回顶部