基于Python制作一个多进制转换工具

目录
  • 前言
  • 主要步骤
  • 完整代码

前言

学习资料下载链接 提取码:tha8  进制转换计算工具含源文件

主要步骤

导入模块

import tkinter
from tkinter import *
import tkinter as tk
from tkinter.ttk import *

整个框架的主结构

root = Tk()
root.title('贱工坊-进制转换计算')  # 程序的标题名称
root.geometry("580x400+512+288")  # 窗口的大小及页面的显示位置
root.resizable(False, False)  # 固定页面不可放大缩小
root.iconbitmap("picture.ico")  # 程序的图标

GUI框架插入图片,视觉感受

canvas = tkinter.Canvas(root, bg="#ebebeb", height=400, width=700, borderwidth=-3)  # 创建画布
canvas.pack(side='top')  # 放置画布(为上端)
try:
    image_file = tkinter.PhotoImage(file="./chart.png")  # 加载图片文件
    canvas.create_image(0, 0, anchor='nw', image=image_file)  # 将图片置于画布上
except:
    pass

信息输入框

# 信息输入
var_ = tkinter.StringVar()
input_var_ = tk.Entry(root,width=34,textvariable=var_,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_var_.place(x=10, y=4)

信息输出框

# 二进制
var_2bin = tkinter.StringVar()
input_2bin = tk.Entry(root,width=23,textvariable=var_2bin,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_2bin.place(x=16, y=200)

# 八进制
var_8oct = tkinter.StringVar()
input_8oct = tk.Entry(root,width=24,textvariable=var_8oct,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_8oct.place(x=194, y=240)

# 十进制
var_10int = tkinter.StringVar()
input_10int = tk.Entry(root,width=23,textvariable=var_10int,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_10int.place(x=380, y=200)

# 十六进制
var_16hex = tkinter.StringVar()
input_16hex = tk.Entry(root,width=23,textvariable=var_16hex,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_16hex.place(x=70, y=300)

# 三十二进制
var_32baseN = tkinter.StringVar()
input_32baseN = tk.Entry(root,width=23,textvariable=var_32baseN,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_32baseN.place(x=326, y=300)

用来清空输出框

# 清空
def cls():
    input_2bin.delete(0, 'end')
    input_8oct.delete(0, 'end')
    input_10int.delete(0, 'end')
    input_16hex.delete(0, 'end')
    input_32baseN.delete(0, 'end')

转换数据的主要核心,bin、oct、int、hex,

# 二进制转换
def bin2():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 2)))  # 2进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 2)))  # 2进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 2)))  # 2进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 2)))  # 2进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 四进制转换
def bin4():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 4)))  # 4进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 4)))  # 4进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 4)))  # 4进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 4)))  # 4进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 八进制转换
def oct8():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 8)))  # 8进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 8)))  # 8进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 8)))  # 8进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 8)))  # 8进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 十进制转换
def int10():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 10)))  # 10进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 10)))  # 10进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 10)))  # 10进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 10)))  # 10进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    def baseN(num, b):
        return ((num == 0) and "0") or \
               (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])
    try:
        input_32baseN.insert('end',baseN(int(var_.get()), 32))  # 10进制 转 32进制
    except:
        input_32baseN.insert('end','转换失败')
# 十六进制转换
def hex16():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 16)))  # 16进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 16)))  # 16进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 16)))  # 16进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 16)))  # 16进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 十六进制转换
def baseN32():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 32)))  # 32进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 32)))  # 32进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 32)))  # 32进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 32)))  # 32进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')

按钮插入

Button(root, text='二进制转换',command=bin2).place(x=13, y=30)
Button(root, text='四进制转换',command=bin4).place(x=103, y=30)
Button(root, text='八进制转换',command=oct8).place(x=193, y=30)

Button(root, text='十进制转换',command=int10).place(x=13, y=60)
Button(root, text='十六进制转换',command=hex16).place(x=103, y=60)
Button(root, text='三十二进制转',command=baseN32).place(x=193, y=60)

不仅好用,还可以装逼,可将你的QQ号转为16进制用QQ进行登录,装逼再好不过了

看效果:已打包

上方有链接可供下载

完整代码

import tkinter
from tkinter import *
import tkinter as tk
from tkinter.ttk import *

root = Tk()
root.title('贱工坊-进制转换计算')  # 程序的标题名称
root.geometry("580x400+512+288")  # 窗口的大小及页面的显示位置
root.resizable(False, False)  # 固定页面不可放大缩小
root.iconbitmap("picture.ico")  # 程序的图标

canvas = tkinter.Canvas(root, bg="#ebebeb", height=400, width=700, borderwidth=-3)  # 创建画布
canvas.pack(side='top')  # 放置画布(为上端)
try:
    image_file = tkinter.PhotoImage(file="./chart.png")  # 加载图片文件
    canvas.create_image(0, 0, anchor='nw', image=image_file)  # 将图片置于画布上
except:
    pass

# 信息输入
var_ = tkinter.StringVar()
input_var_ = tk.Entry(root,width=34,textvariable=var_,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_var_.place(x=10, y=4)

# 二进制
var_2bin = tkinter.StringVar()
input_2bin = tk.Entry(root,width=23,textvariable=var_2bin,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_2bin.place(x=16, y=200)

# 八进制
var_8oct = tkinter.StringVar()
input_8oct = tk.Entry(root,width=24,textvariable=var_8oct,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_8oct.place(x=194, y=240)

# 十进制
var_10int = tkinter.StringVar()
input_10int = tk.Entry(root,width=23,textvariable=var_10int,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_10int.place(x=380, y=200)

# 十六进制
var_16hex = tkinter.StringVar()
input_16hex = tk.Entry(root,width=23,textvariable=var_16hex,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_16hex.place(x=70, y=300)

# 三十二进制
var_32baseN = tkinter.StringVar()
input_32baseN = tk.Entry(root,width=23,textvariable=var_32baseN,
                                            font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)
input_32baseN.place(x=326, y=300)

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]
# 清空
def cls():
    input_2bin.delete(0, 'end')
    input_8oct.delete(0, 'end')
    input_10int.delete(0, 'end')
    input_16hex.delete(0, 'end')
    input_32baseN.delete(0, 'end')

# 二进制转换
def bin2():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 2)))  # 2进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 2)))  # 2进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 2)))  # 2进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 2)))  # 2进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 四进制转换
def bin4():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 4)))  # 4进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 4)))  # 4进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 4)))  # 4进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 4)))  # 4进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 八进制转换
def oct8():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 8)))  # 8进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 8)))  # 8进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 8)))  # 8进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 8)))  # 8进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 十进制转换
def int10():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 10)))  # 10进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 10)))  # 10进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 10)))  # 10进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 10)))  # 10进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    def baseN(num, b):
        return ((num == 0) and "0") or \
               (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])
    try:
        input_32baseN.insert('end',baseN(int(var_.get()), 32))  # 10进制 转 32进制
    except:
        input_32baseN.insert('end','转换失败')
# 十六进制转换
def hex16():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 16)))  # 16进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 16)))  # 16进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 16)))  # 16进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 16)))  # 16进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')
# 十六进制转换
def baseN32():
    cls()
    try:
        input_2bin.insert('end',bin(int(var_.get(), 32)))  # 32进制 转 2进制
    except:
        input_2bin.insert('end','转换失败')

    try:
        input_8oct.insert('end',oct(int(var_.get(), 32)))  # 32进制 转 8进制
    except:
        input_8oct.insert('end','转换失败')

    try:
        input_10int.insert('end',str(int(var_.get(), 32)))  # 32进制 转 10进制
    except:
        input_10int.insert('end','转换失败')

    try:
        input_16hex.insert('end',hex(int(var_.get(), 32)))  # 32进制 转 16进制
    except:
        input_16hex.insert('end','转换失败')

    input_32baseN.insert('end','转换失败')

Button(root, text='二进制转换',command=bin2).place(x=13, y=30)
Button(root, text='四进制转换',command=bin4).place(x=103, y=30)
Button(root, text='八进制转换',command=oct8).place(x=193, y=30)

Button(root, text='十进制转换',command=int10).place(x=13, y=60)
Button(root, text='十六进制转换',command=hex16).place(x=103, y=60)
Button(root, text='三十二进制转',command=baseN32).place(x=193, y=60)

root.mainloop()

以上就是基于Python制作一个多进制转换工具的详细内容,更多关于Python多进制转换工具的资料请关注我们其它相关文章!

(0)

相关推荐

  • 一篇教程教你学会Python进制转换(十进制转二进制、八进制、十六进制)

    一.导言 导语: 在计算机进行数据交换时,常常会有一个进制转换的过程,我们知道计算机只认0 和 1.在内存系统中,基本基于二进制进行运算的,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢? 我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10之后,于是就重0 开始继续数,所以逢十进一就这么来了. 对于其它进制呢,也是同样的,比如最常见的二进制,也就是逢二进一,慢慢来,依次类推,所以数学的世界是多么的奇妙呀! 今天给大家带来的是使用 P

  • python 进制转换 int、bin、oct、hex的原理

    原理 十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来. n进制转十进制:(例子:二进制转十进制) 101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41 10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23 同样类推一下,n进制转十进制就是将2为底换成n为底就好了 还有其他方法,比如使用中间二进制, 例如,将十进制转成八进制或者十六进制,先转成二进制再转成八进制或

  • Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns

  • Python进制转换用法详解

    目录 使用int()转换 任意字符数字转换为10进制: 16进制转换为10进制:int(x,16) 8进制转换为10进制:int(x,8) 2进制转换为10进制:int(x,2) 使用bin(x) ,oct(x) 或hex(x) 转换: bin(x)转换为二进制: oct(x)转换为八进制: hex(x)转换为十六进制: 使用format() 转换 format(x,'b')转换为二进制 format(x,'o')转换为八进制 format(x,'d')转换为十进制 format(x,'x')转

  • Python中不同进制互相转换(二进制、八进制、十进制和十六进制)

    在我的印象里面进制互相转换确实是很常见的问题,所以在Python中,自然也少不了把下面这些代码收为util. 这是从网上搜索的一篇也的还可以的Python进制转换,经过验证可以使用.下面贴出它的实现代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os

  • python十进制和二进制的转换方法(含浮点数)

    本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下: 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal import Decimal def bTod(n, pre=4): ''' 把一个带小数的二进制数n转换成十进制 小数点后面保留pre位小数 ''' string_number1 = str(n) #number1 表示二进制数,number2表示十进制数 de

  • 基于Python制作一个多进制转换工具

    目录 前言 主要步骤 完整代码 前言 学习资料下载链接 提取码:tha8  进制转换计算工具含源文件 主要步骤 导入模块 import tkinter from tkinter import * import tkinter as tk from tkinter.ttk import * 整个框架的主结构 root = Tk() root.title('贱工坊-进制转换计算') # 程序的标题名称 root.geometry("580x400+512+288") # 窗口的大小及页面的

  • 基于Python制作一个文件去重小工具

    目录 前言 实现步骤 补充 前言 常常在下载网络素材时有很多的重复文件乱七八糟的,于是想实现一个去重的操作. 主要实现思路就是遍历出某个文件夹包括其子文件夹下面的所有文件,最后,将所有文件通过MD5函数的对比筛选出来,最后将重复的文件移除. 实现步骤 用到的第三方库都比较的常见,其中只有hashlib是用来对比文件的不是很常见.其他的都是一些比较常见的第三方库用来做辅助操作. import os # 应用文件操作 import hashlib # 文件对比操作 import logging #

  • 基于Python制作一个文本翻译器

    translate非标准库是python中可以实现对多种语言进行互相翻译的库,使用时只需要设置目标语言(比如:中文.英文)后,会自动将原始文本翻译成我们需要的目标语言. 使用pip的方式安装translate非标准库. pip install translate 准备好之后进行代码编写过程,实现的方式也比较常规. 输入需要翻译的文本文件路径. path = input('请输入需要翻译的文件路径(.txt):\n') 编写文本文件读取函数,读取文本文件后返回字符串. def read_text(

  • 基于Python制作一个文件解压缩工具

    经常由于各种压缩格式的不一样用到文件的解压缩时就需要下载不同的解压缩工具去处理不同的文件,以至于桌面上的压缩工具就有三四种,于是使用python做了一个包含各种常见格式的文件解压缩的小工具. 常见的压缩格式主要是下面的四种格式: zip 格式的压缩文件,一般使用360压缩软件进行解压缩. tar.gz 格式的压缩文件,一般是在linux系统上面使用tar命令进行解压缩. rar 格式的压缩文件,一般使用rar压缩软件进行解压缩. 7z 格式的压缩文件,一般使用7-zip压缩软件进行解压缩. 导入

  • 基于Python制作一个相册播放器

    大家好,我是小F. 对于相册播放器,大家应该都不陌生(用于浏览多张图片的一个应用). 当然还有视频.音乐播放器,同样是用来播放多个视频.音乐文件的. 在Win10系统下,用[照片]这个应用打开一张图片,就可以浏览该图片所在文件夹中其它图片了. 从上面的图中发现,还有不少其它方面的功能,比如图片裁剪.编辑.打印等. 今天小F就带大家学习一个Python制作相册播放器的实战项目. 功能嘛,当然没有系统自带的好,仅做学习哈. 默认5秒切换一张图片,点击向前按钮,可以快速切换到下一张图片. 主要使用到P

  • 基于Java实现进制转换工具类的示例代码

    目录 背景 原理 十进制A转换为N进制R N进制R转换为十进制A 应用 延伸 背景 最近有个发送短信的功能,需要在短信中带有详情链接,链接中带有对应信息且要有校验功能,然而短信是按字数收费的,所以链接要尽可能的短.链接中带有数字类型参数,就想到通过低进制转高进制可以减少参数长度. 原理 低进制转换到高进制的时候可能会减少位数,例如二进制是满二进一,十进制是满十进一. 二进制:101001101 转换为对应的四进制为:11031 转换为对应的八进制为:515 转换为对应的十进制为:333 转换为对

  • Java实现的进制转换工具类完整示例

    本文实例讲述了Java实现的进制转换工具类.分享给大家供大家参考,具体如下: import java.nio.charset.Charset; /** * 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15).<br> * 例如十进制数57,在二进制写作111001,在16进制写作39.<br> * 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的

  • 基于Python制作图像完美超分处理工具

    目录 前言 安装 使用 图片超分 视频超分 项目说明 代码说明 总结 前言 很久没更新这个专栏了,最近比较忙.前段时间看到了这个模型觉着很有意思,弄下来自己玩了玩,但是没时间写文章,一直搁置到现在. 废话不多说,先上Github地址: RealBasicVSR地址 从给出的效果来看,还是很不错的,左侧是超分后的画面,右边是原画质,得到明显提升.下面我说一下我的安装过程,还有一些使用中的踩坑,让大家去测试项目的时候可以提前规避. 安装 项目拉下来之后,我们先打开README,看看说明. 安装的步骤

  • 基于Python实现简单的汉字拼音转换工具

    目录 1.准备 2.基本使用 3.高级使用 将汉字转为拼音,可以用于批量汉字注音.文字排序.拼音检索文字等常见场景. 现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今天给大家介绍一个功能特性最多的模块:  pypinyin ,它支持以下特性: 1. 根据词组智能匹配最正确的拼音. 2. 支持多音字. 3. 简单的繁体支持, 注音支持. 4. 支持多种不同拼音/注音风格. 5. 命令行工具一键转化 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,

  • 基于Python制作B站视频下载小工具

    目录 1. 原理简介 2. 网页分析 3. 视频爬取 4. 存入本地 5. GUI工具制作 1. 原理简介 原理很简单,就是获取视频资源的源地址,然后爬取视频的二进制内容,再写入到本地即可. 2. 网页分析 打开该网页,然后F12进入开发者模式,接着点开网络—>全部,因为视频资源一般比较大,我这里根据大小进行了从大到小的排序,找到了第一条这些可能和视频源地址有关. 然后,我们复制找到的这条里的url部分不变的部分,回到元素中ctrl+F搜索,找到了可能和视频源地址有关的节点. 果然,我们复制这部

随机推荐