QQ登录

只需要一步,快速开始

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

Python-追剧下载视频

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

7

主题

3

听众

10

积分

升级  5.26%

该用户从未签到

自我介绍
我本名为我,那就是我
跳转到指定楼层
1#
发表于 2021-1-19 10:25 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. #!/usr/bin/python( p4 H, g9 r% E# d( h# ]
  2. # -*- coding: utf-8 -*-
  3. 0 S) ]) \: Q) c# R. T; m# B
  4. 5 {% u; V# ^; l2 B\" Bimport threading; s9 B# b3 U% G% c
  5. from lxml import etree- j, g8 R2 t' k) c% N& t- _
  6. import requests4 j4 C8 E: d) n
  7. from ctypes import windll, }1 t9 _9 v! p9 G1 k
  8. ) T) @4 U1 \: C- n% ?$ e4 d
  9. ) E5 o: S1 V  ]5 s7 x+ I9 D4 o
  10. def getmidstring(html, start_str, end):
  11. 6 i8 i# k. r  E+ T\" _3 a: V! M    start = html.find(start_str)
  12. 7 b; d) k  @! V, n! O    if start >= 0:5 T% j) }* s/ I6 {) t
  13.         start += len(start_str)
  14. ' j; ~4 o) t0 S5 D) f/ [1 j$ {        end = html.find(end, start)( u+ K+ @' E2 m- V# g8 Y9 m
  15.         if end >= 0:4 ?9 P1 P' }! G1 a7 s! b& r2 w; N* b
  16.             return html[start:end].strip()
  17. 9 w4 {0 j: ?% Q! P
  18. % }  i+ z4 V/ y8 ~* z/ X) x4 l! m! A+ J5 N6 B1 y! o
  19. def getleftstring(html, end):7 ~# U. z0 j( O) H. x
  20.     end = html.find(end)
  21. ) d6 m: {+ A0 s  f, U; U    if end >= 0:
  22. . q) |! Y\" P( Z4 i5 n  R  q( @1 V5 x        return html[0:end].strip(): x2 S7 F9 v0 v
  23. 6 R7 Z( P5 ]\" p
  24. 2 |9 P5 o\" ^% i! ^, l6 V
  25. def updata(i):2 u7 B* j- C1 n4 M/ \
  26.     req = requests.get("https://www.xxx.com/play/xxx-2-%s.html" % i)
  27. , Y+ U* R' ^- Z; S$ V$ d6 B6 g. n    req.encoding = "utf-8"  M7 C\" x( O. {1 k6 `) M
  28.     m3u8 = getmidstring(req.text, "var now=\"", "\"")
  29. * d% i4 O4 i4 {, I9 k% o% X5 i9 A. o1 R& I' ?8 b% s, p2 j
  30.     html = etree.HTML(req.text)
  31. 3 K4 I' ~) w* j    title = html.xpath("//meta[@name=\"description\"]/@content")[0]4 o+ N+ B. w9 w; X& k! z
  32.     title = getleftstring(title, ",")
  33. $ k2 O9 |! n% j* F, M\" u( _. a! G5 ^0 A; O    print(title)
  34.   }( S- v: ~( n9 p2 z0 n
  35. & N$ B. H) l; A4 X0 a6 |/ |    cmd = "\"%s\" --workDir \"%s\" --saveName \"%s\" --enableDelAfterDone" % (
  36. - U0 s- l$ e7 T( j( ?\" O: r        m3u8,
  37. * r9 p& J6 w0 e$ c        r"F:\xxx",
  38. * L; A9 c0 M* \  y        title)7 L+ V1 z+ G) r
  39.     print(cmd)+ d! S  M- m7 ~8 A9 g

  40. \" P  `0 G& _5 Z+ B0 F4 X    dll = windll.LoadLibrary("Shell32.dll")1 F% P* N- {/ H% z' D% ~
  41.     print(dll.ShellExecuteW(None,
  42. 9 {- [5 Y) c! C) a. m4 M6 W                            "open",
  43. - @& E2 t  Y9 ~9 a                            r"D:\xxx.exe",
  44. $ A( G0 O7 Z: l6 o; l2 D                            cmd, None, 1))
  45. ( n\" V/ b: o: O  [
  46. 3 L9 i3 |7 P  Q) h/ F
  47. ' T; k6 Z9 B0 _. ]\" b0 A- A/ ddef cycle():5 }: V, F) ^8 u6 ^( G) ?
  48.     for i in range(40):  g$ Z5 Z4 q2 {; T1 _  [
  49.         updata(i)7 `) r- o: H4 Z! E9 a% y, `6 V

  50. , q3 W; F. [7 H: o( T
  51. * g0 A& x0 m; ]0 ]if __name__ == '__main__':
  52. # x- Y* H3 t9 M% U5 S    hThread = threading.Thread(target=cycle)
  53. + S$ V& j* a$ M% k% D. M    hThread.setDaemon(True)2 ]3 W3 T! y' |0 p! Q
  54.     hThread.start()
  55. ! H  I. P/ M- b    hThread.join()
  56. ( K1 u! Z+ i1 u/ V6 R9 {2 y7 H

3 Z4 @) u# _/ k+ ~5 P* V
: t) ~" m% @2 [% y9 V4 K1 b1 C在线追剧又卡又慢!还不方便,写个Python脚本自动帮我缓存下~
0 P6 [3 }9 Q; g# H3 ?8 g( s
) [; f' ~' A; _8 w
8 q- c; P4 o" u( h5 f
转发自派生社区
Python交流群:1047602540

5 k7 q1 G3 I5 G" J" X" C
9 A# Y3 T2 O1 R& j2 `5 Z) q# w1 V% G8 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, 2026-4-22 01:40 , Processed in 0.384261 second(s), 50 queries .

回顶部