编辑
2025-03-11
python项目
00

运行环境

python3.9.6 +MariaDB(termux官方封装安装顺利)

1. 安装python

bash
#安装python3 pkg install python -y #查看版本 python -V #升级pip python -m pip install --upgrade pip -i #安装简易爬虫需要的库 pip install pymysql

2. 安装MariaDB并在里面建表

bash
#安装MariaDB pkg install mariadb #初始化数据库 mysql_install_db #启动mysql服务(得到一个进程号(pid号),nohup: ignoring input and appending output to `nohup.out'提示也是正常的) nohup mysqld & #进入mysql(whoami为本机的登陆名) mysql -u ${whoami} #mysql内修改root密码,我这里习惯设置用户名密码都为root use mysql; set password for 'root'@'localhost' = password('root'); # 刷新权限 flush privileges; # 创建数据库 create database bilidb; use bilidb; CREATE TABLE `hot` ( `id` int(11) NOT NULL AUTO_INCREMENT, `hotword` varchar(200) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `hotword` (`hotword`) ) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=latin1; #退出mysql quit; #需要关闭mysql服务可以掉进程 kill -9 PID(这个pid号启动服务的时候回显示)

3. 运行python程序

python
#python +文件名 例子: python bili.py #bili.py要在当前目录下,安卓11有应用文件的限制,一加手机需要在设置的存储里找文件,在文件程序里面进行复制

我这里有个简单的爬虫

python
#python程序 #字典 import requests import json import pymysql.cursors #加头标识 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' } product=[] #获取传回数据 resp=requests.get('https://s.search.bilibili.com/main/hotword?mid=&buvid=98E676EF-F586-403E-8440-52A6836FA68713451infoc&jsonp=jsonp&callback=jsonCallback_bili_58910703464582290',headers=headers) rest=resp.text.replace('jsonCallback_bili_58910703464582290(','').replace(')','') #转换json键值对 json_data=json.loads(rest) comments=json_data["list"] # #把想要的数据装入列表中 proDict=[] for item in comments: proDict.append(item['keyword']+' ') product.extend(proDict) # 把数组里所有数据都转入字符串中(这里是学习用的,可以去除) p=''.join(proDict) print(p) # 数据入库 # 连接数据库 conn = pymysql.connect( host='127.0.0.1', port=3306, user='root', passwd='root', db='bilidb', charset='utf8', cursorclass=pymysql.cursors.Cursor, ) cur=conn.cursor() #这里用replace解决数据入库时重复数据的问题,注意hotword字段要设置唯一约束 for item in proDict: cur.execute("replace into hot(hotword) values('%s')" %(item)) #事务提交(这里尝试性的用了一个异常处理,嘿嘿可以去掉) try: conn.commit() except AttributeError: print("错误") cur.close()

保存或者直接复制运行,ok运行成功!

编辑
2025-03-11
(灵机一线)前端小项目
00

Taro小程序canvas绘制海报(并实现自定义分享5:4海报)

接到需求开发一款电子名片小程序,前期将技术栈设为了Taro + React,在开发过程中,电子名片前期由原生标签制作,但显示效果差强人意,而且分享名片时,只能通过微信官方的分享将名片网页截取一部分,会将无关内容带到分享页中。因此,我将名片改为canvas实现,分享时将canvas转为临时图片,达到小程序的4:5比例。

编辑
2024-10-21
(灵机一线)前端小项目
00

最近闲的没事干,迷上了一款微信小游戏《开局托儿所》,游戏大致规则是开始会生成16✖️10的随机1到9的数字,相邻数字相加为0即可消除,在规定时间内消除数字即可得分。👌非常简单。

源码链接:https://github.com/Lsq-class/tuoersuo_game_cal

游戏截图:(注:这个游戏有时间限制,而且消除到最后会进入死局)

111.png

破解思路:

  1. 将游戏中的画面用截图软件截取图片。再通过文字识别识别出所有数字。(同时需要识别文字位置)

  2. 将数字呈现到自己的网页中。

  3. 使用暴力破解算法将相邻和为10的用属性标注出。(这里需要注意要将已经参与计算的数据在第二次计算时跳过该区域数据)—-使用到遍历子矩阵求和

  4. 将相邻和为10的数据用颜色区分出来,呈现到页面上。

  5. 循环3、4步操作,直到未标注元素内,无法凑齐和为10的数据,即停止循环。

    graph TD
    截图游戏界面 --> 识别矩阵 --> 计算最小矩阵和  --> 标识符合规则矩阵
    

最终破解图: