Skip to main content

python工具包

Project description

工具介绍

封装该工具的主要目的是为了方便个人后续的开发过程。

文件结构

python-utils/
│
└── loongfei_utils/
   ├── __init__.py        # 将文件夹变为Python包
   ├── M3u8Crawer.py      # 爬取m3u8形式的网上视频,可以控制线程数,需要解密的目前仅支持AES-128
   ├── MultiThreading.py  # 多线程工具类
   └── utils/             # 辅助工具类包
      ├── __init__.py     # 将文件夹变为Python包
      ├── LoggerUtils.py  # 初始化logger日志句柄,用于日志输出
      └── StrUtils.py     # 字符串工具类
      

工具使用方法

一、多线程工具类 MultiThreading

举例:
1、获取logger日志句柄
引入:
from loongfei_utils.utils import LoggerUtils
创建logger日志句柄
logger = LoggerUtils.config_only_kzt_logger("info")

2、准备要处理的数据
a = [1,2,3,4,5,6,7,8,9]
b = []

3、定义一个处理数据的方法,这个方法用来处理数据,处理完要返回True 或者 False,以便让多线程工具那些执行失败了
def edit_data(item):
    ac = True
    try:
        if item == 5:
            ac = False
        else:
            b.append(item*5)

    except BaseException as e:
        ac = False
    return ac

4、创建多线程工具类
"""
  多线程工具类ExecuteList,参数如下:
  func : 传入处理数据的方法
  need_execute_list : 需要被处理的数据
  thread_num: 要开启多少线程
  logger: 传入日志句柄,用于多线程日志输出
"""
execute_class = ExecuteList(edit_data,a,5,logger)
# 启动线程
execute_class.start_thread()
# 打印哪些数据处理失败
logger.info(execute_class.getting_error_list())
# 输出处理后b的结果
logger.info(b)

二、m3u8视频爬取工具类 M3u8Crawer

说明:
1、m3u8视频爬取工具类支持非加密类型ts视频的下载,同时也支持加密类型ts视频的下载(目前加密仅支持AES-128);
2、指定要下载的m3u8文件地址,并指定保存路径,还需要指定保存后的中文名称;
3、本程序采用多线程下载,也需要指定开启的线程数;
4、需要指定下载完成后的视频名字,程序下载完成后会自动合并为指定名字的mp4文件并删除临时的ts文件;
5、需要安装 ffmpeg 工具,用于后期ts文件的合并;
6、程序可以自动判断是否需要解密ts文件。
注:该工具在不断完善中。。。

举例:
1、获取logger日志句柄
引入:
from loongfei_utils.utils import LoggerUtils
创建logger日志句柄,紧进行控制台输出
logger = LoggerUtils.config_only_kzt_logger("info")

2、下载视频
引入:
from loongfei_utils.M3u8Crawer import TSCrawlingToMp4

实例化下载类:
"""
  m3u8工具类TSCrawlingToMp4,参数如下:
  url : 视频对应的m3u8地址
  path : 本地保存地址
  zh_file_name: 视频的保存名字
  logger: 传入日志句柄,用于多线程日志输出
"""
move_crawling = TSCrawlingToMp4(url="https://v.cdnlz7.com/20240427/18107_f7400038/index.m3u8",
                     path="D:/Downloads/view/",
                     zh_file_name="奔跑吧第八季第1期",
                     logger=logger)
# 启动爬取,100为开启100个线程下载ts文件
move_crawling.do_crawling(100)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loongfei_utils-1.0.5.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loongfei_utils-1.0.5-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file loongfei_utils-1.0.5.tar.gz.

File metadata

  • Download URL: loongfei_utils-1.0.5.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for loongfei_utils-1.0.5.tar.gz
Algorithm Hash digest
SHA256 8acf22dfcc0747d38191306351a070a601dcd885fd525af3e7d94d997095fae9
MD5 3400e59f9a074d7ca9f1a281bc419e62
BLAKE2b-256 c1d659acf2f0ce19eb35d496019e19a7e8959fdbcf643eae21e86e968e1c283a

See more details on using hashes here.

File details

Details for the file loongfei_utils-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: loongfei_utils-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for loongfei_utils-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 008f2d97d1bef4d64c51ec1c1a40c185e085d5319460d0f03aa93f526eb6756c
MD5 e363b9882c3b9b22296ee835c83128f1
BLAKE2b-256 76f8b1e7309aba725939722235a70018b556c28ccc2ecb3bd53aef50f47235e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page