脚本-抽取配置文件
创始人
2024-02-10 02:08:20
0

要获取不同版本的下载链接需要通过三次点击才能进入到有下载链接的Html页,想写爬虫的话需要使用selenium去实现点击功能,然后这个网站比较乱,所以根据Xpath也不太好写(可能得写好多异常处理),所以我选择手动获取下载链接。
姐,我现在手动收集了187个链接,这些包括了所有的大类。我先把这些文件的config收集好发给你。
这个图就是代表三个大类。每个类里面也包含了很多不同版本的ROM压缩包。
在这里插入图片描述

要获取不同版本的下载链接需要通过三次点击才能进入到有下载链接的Html页,想写爬虫的话需要使用selenium去实现点击功能,然后这个网站比较乱,所以根据Xpath也不太好写(可能得写好多异常处理),所以我选择手动获取下载链接。
在这里插入图片描述

学习

echo "定义一个字符串变量"str="hello"echo "等值比较"if [ "${str}" = "hello" ]; thenecho "字符串相等"
elseecho "字符串不相等"
fi

关键字if与括弧之间、括弧与双引号之间、双引号和等号之间必须加空格;这个非常重要,当初排查问题的时候参考了一个站内大佬的笔记

Linux服务器间的数据交互

现在有两个IP不同的服务器节点,可以用scp命令交互。
在这里插入图片描述

对比仅UI不同的线刷包

在这里插入图片描述
在这里插入图片描述

脚本整理

download

# !/bin/sh
cat ~/project/xiaomi/link.txt | while read line
doecho "$line"wget -P ~/project/xiaomi/download/ ${line}
done

tar or unzip

# !/bin/sh
for file in $(ls ~/project/download/)
do# echo $filefilename=${file}tarname=${filename:0-3}targzname=${filename:0-6}zipname=${filename:0-3}if [ "${tarname}" = "tgz" ]; thentar -zxvf ~/project/download/${file} -C ~/project/unzip/ elif [ "${targzname}" = "tar.gz" ]; thentar -zxvf ~/project/download/${file} -C ~/project/unzip/elif [ "${zipname}" = "zip" ]; thenunzip -d ~/project/unzip/${file} ~/project/download/${file}firm -r ~/project/download/${file}
done

extract boot.img

# !/bin/sh
boot_path='~/project/xiaomi/boot'for file2 in $(ls ~/project/xiaomi/unzip/)
docd ~/project/xiaomi/unzip/"${file2}"for boot in $(find ./ -name boot.img)domkdir ~/project/xiaomi/boot/${file2}cp ${boot} ~/project/xiaomi/boot/${file2}/done
done

extract-ikconfig

# !/bin/sh
for file in $(ls ~/project/boot)
do~/tool/imjtool.ELF64 ~/project/boot/${file}/boot.img extractif [ -e ./extracted/kernelimage.gz ]; thenmv ./extracted/kernelimage.gz ./extracted/kernelimagefi~/tool/extract-ikconfig ~/project/extracted/kernelimage > ~/project/config_file/${file}.txtrm -rf ~/project/extracted
done

rename txt to config

import os, syspath = os.path.dirname(os.path.abspath(__file__))
def rename(path, num=0):# 对目录下的文件进行遍历num = 0for file in os.listdir(path):num = num+1# print(file)newName = file.replace(".txt", ".config")os.rename(os.path.join(path, file), os.path.join(path, newName))print(num)
rename(str(path)+'/config_file')

文件名的含义

plato_ru_global_images_V13.0.4.0.SLQRUXM_20220920.0000.00_12.0_global.txt
1.plato是手机型号的代号,小米12T
2.若_global_images代表全球版,若前面有字符
ru 代表俄罗斯版
tw代表台湾版本
若只出现images则代表国行版
3.V13.0.3.0.SLQTWXM代表MIUI版本
4.20221008.0000.00代表出版时间
5.12.0代表Android版本

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...