用python做一个计数器_Python写一个UP主计数器(送界面定制指南)
前言
前一段时间我在翻B站。突然,我想到了一个点子——为何不写一个UP主计数器?
于是我到翻了一下B站,发现相关视频也就几个(搜粉丝计数器的时候,一抓也有一些),翻到专栏后,居然没有一个专栏是如何写UP主计数器(搜粉丝计数器倒是有一个)搜索结果
因为我是玩Python的,所以我就用Python写了一个UP主计数器。
该计数器除了记录粉丝量以外,还记录视频总观看量,专栏总阅读量等。
有粉丝要求我把(设计界面的)教程发出来。既然粉丝需要,那我就满足粉丝的要求。
当然在此之前,还是先进入正题。
原理
之前我发布过一篇写爬虫的文章,如果没看过该文章,传送门就在下面。
但是有一点,跟之前的那篇文章不同的是,这次我们用的是JSON(之前的那篇是直接用正则表达式)。
那么什么是JSON?
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
代码解析
接下来我就带大家深入了解一下UP主计数器的核心是如何工作的。
先上代码:
(代码我就直接截图了,想看完整代码可以去Github或者码云)
图一 导入模块
图二 观看量统计模块(以获取观看量为例)
我们先看图一,图一就是导入两个模块:requests和json
再看图二,这是一个获取观看量的模块。
首先我们要用User-Agent代理,以及你的Cookie(已登录状态下)。
目的:绕开反爬,并且获取你的UP主信息。
接下来我就不用说了,发送请求,调用B站的API。
然后就是读取文本,获取Json内容。
读取内容过后,接下来就要用到json包处理数据。
格式如下:
值的名称 = 页面变量名['第一层json关键字']['第二层json关键字']......['第n层json关键字']
最后就是返回值,使get_views(UID,Cookie)可以作为一个值使用。
例如:
print(get_views(UID,Cookie))
那么,返回的值就是观看量的值。
界面开发指南
在开始制作你的界面之前,首先让我们来了解一下如何使用模块:
直接看图↓第一部分
第二部分
输出结果输出结果
至于为什么会出现两次,是因为我用了两种用法。
接下来,只需要你学会如何使用PyQt(或者自己写一个Tkinter也可以)就可以了。在此我不多阐述。(B站上有一大堆教程)
才怪,还没结束呢!
先新建一个文件夹,给文件夹命名为“up-counter_classroom”,将example_gui.py文件拷入这个文件夹内。
打开Qt Creator(或者Qt Designer也行),UP主本人就以Qt Creator为例。Qt Creator
点击“文件→新建文件或项目”,会弹出以下窗口:新建文件或项目窗口-1
点击“文件和类”下的“Qt Designer Form”,点击Choose新建文件或项目窗口-2
选择Main Window,点击下一步Qt Designer Form
设定好名称和路径后,我们就进入到了Project Management,直接点完成即可。
界面如下:界面
接下来我们把菜单栏和状态栏去掉,并且缩小到......
380x100即可
如图所示:
接下来我们来做一个简单的计数器
首先我们把按钮,标签和LCD拖进去,出来的界面就像这样,当然还得该属性和标签,都在上图的侧边栏里面。各组件要改内容的只有MinimumSize、MaximumSize、geometry的高度和宽度、Text和objectName。
结果就像这样:界面效果
保存,关闭Creator。转到VSCode(PyCharm也可以)。VS Code界面
在终端里面输入以下命令:
pyuic5 -o example_gui.py example_ui.ui终端
接下来就把按钮事件写进去吧!
代码如下:
按钮事件
启动界面逻辑
如果运行时出现出现以下情况:Error!!!!
请先删除35行的 MainWindow.setCentralWidget(self.centralwidget) 再重新运行。
运行后,点击“刷新”按钮,如果看到了以下界面,那么恭喜你,你成功地做出了属于你的计数器!
Congratulations!
观看量,总获赞量等也是一样的道理哦!
当然,如果你用其他编程语言写程序,也没关系!直接Fork并修改我的项目吧!
前提是:别把核心代码删了就行(除非你要从头开始写计数器核心)
介绍视频:
下载连接:
GitHub:https://github.com/Chrithon/up-counter
Gitee(码云):https://gitee.com/ying2002/up-counter
该文章采用CC-BY-NC-ND(署名-非商业性使用-禁止演绎) 4.0协议,如需商用,请联系原作者,谢谢!
用python做一个计数器_Python写一个UP主计数器(送界面定制指南)相关推荐
- python关于通讯录模型_python写一个通讯录 - wtwexile - 博客园
python写一个通讯录 闲着没事,用python写一个模拟通讯录,要求要实现常用的通讯录的功能,基本流程如下 接下来就按照这个流程实现各个模块的功能 1. 定义一个类,并初始化 1 import j ...
- 用python写一个通讯录_python写一个通讯录
闲着没事,用python写一个模拟通讯录,要求要实现常用的通讯录的功能,基本流程如下 接下来就按照这个流程实现各个模块的功能 1. 定义一个类,并初始化 def __init__(self): w ...
- python做七夕礼物_python写七夕硬核礼物!
明天就是七夕了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用python+opencv+openpyxl,opencv ...
- python软件中文翻译_python 写一个桌面版的翻译软件
主要技术:爬虫和tkinter模块的运用 思路说明:设计一个图形界面,第一行输入中文,点击 "翻译" 按钮,此时做的就是将输入的内容,通过有道网页翻译,发出POST请求,得到回应后 ...
- python写一个服务_Python写一个服务
# coding:utf-8 import json from urllib.parse import parse_qs from wsgiref.simple_server import make_ ...
- python 京东 抢券_Python写一个京东抢券脚本
最近看到京东图书每天有优惠券发放,满200减100,诱惑还是蛮大的.反正自己抢不到,想着写个脚本试试. ##几个关键步骤 获取优惠券的url 直接审查元素 获取cookie 通过本地代理,比如Burp ...
- python抢券代码_Python写一个京东抢券脚本
最近看到京东图书每天有优惠券发放,满200减100,诱惑还是蛮大的.反正自己抢不到,想着写个脚本试试. 几个关键步骤 获取优惠券的url 直接审查元素 获取cookie 通过本地代理,比如BurpSu ...
- python在线翻译脚本_python写一个翻译的小脚本
起因: 想着上学看不懂English的PDF感慨万分........ 然后就有了翻译的脚本. 截图: 代码: #-*- coding:'utf-8' -*- import requests impor ...
- 给定一个数学函数写一个程序来确定该函数是否是双射的
离散题目11 Time Limit: 1000 msMemory Limit: 65536 KiB Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的 Inpu ...
最新文章
- 中科大倪茹:感谢开源,我从入门竞赛到Top 10的经验分享
- Day19-File操作-创建 删除,文件过滤
- wireshark抓包图解 TCP三次握手/四次挥手详解
- J2EE软件开发视频教程
- 【java】java 如何不使用第三个变量来交换两个数的值
- http头部 Expect
- c语言编程题题库及详解答案,C语言编程题及答案.pdf
- Android系统模块编译Makefile编写规则
- 国内银行CNAPS CODE 查询
- python设置主题背景
- 从零实现深度学习框架——前馈网络语言模型
- 问题 A: 【动态规划】机器人军团(最大不下降子序列)
- php处理微信weui图片上传
- C++编写木马全过程
- 如何做看到总服务器的文件,怎么看到服务器大内存文件夹
- Arduino DRV8825驱动两相步进电机
- keras使用VGG19网络模型实现风格迁移
- php-fpm彻底解决502(php-fpm多开、nginx限制并发、定时重启)解决网站卡顿的终极奥义
- private和protected的区别
- Codeforces 715A Plus and Square Root