吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1552|回复: 1
收起左侧

[其他原创] 【小学生日记】 bash 下载

  [复制链接]
djwdj 发表于 2022-12-4 00:10
平时看到我家鸽鸽哪么努力,却不能下载。
看到有python下载器,不好用
要安装python3 装完之后要用pip 安装组件,装完还是不能跑
所以在bash上写一个本来也不知道怎么写
直到一个真正的man
         

一个真正的man

一个真正的man

一个真正的man怎么用:
man curl
curl -A [User-Agent] //用户标识
-o [out-file]//保存文件名
-L //转到Location
man sed
-r 扩展正则表达式
-e 正则处理

man怎么用就不说了

本次用到curl 和sed
为什么不用wget?因为复杂先下载,再读取,最后删除
sed有替代的吗?awk , egrep
数据解释还有什么工具?jq 要安装,所以不用

cat 1.json |sed -r 's/.*play_addr":\{"uri":"([^"]*)".*/\1/g'
cat 1.json |awk '{match($0,/play_addr":\{"uri":"([^"]*)"/,j8);printf j8[1];}'
cat 1.json |egrep -o 'play_addr":{"uri":"([^"]*)"' |egrep -o '[0-9a-z]{5,}' |tr -d "\n"

sed笔记:
普通模式:{}是字符串 \{\}是功能 ()是字符串 \(\)是功能
扩展模式:\{\}是字符串 {}是功能 \(\)是字符串 ()是功能
{}功能:指定范围,{32}匹配长度为32的字符,{5,}匹配长度超过5的字符,{5,9}匹配长度5到9的字符
()功能:内容分组,通过\1,\2,,,来筛选想要的内容

awk笔记:
match 输入内容,正则匹配参数,输出结果
print会打印换行符,输出到控制台用这个
printf不打印换行符,脚本获取参数用这个

egrep笔记:
egrep是grep -E
grep -P是perl正则,感觉和E差不多
-o 仅输出匹配到的内容

获取全民制作人的作品思路
1,提取作品ID,curl {分享链接} | 提取
2,查询作品数据,curl {查询地址}{作品ID} > tmp.json
3,提取数据,怎么提取都行,sed, awk, grep, jq, 最风骚的放进python
4,下载资源,这个要设置UA

大概代码

jjget(){
sed -r 's/.*'$1'":\{"uri":"[^"]*","url_list":\["([^"]*)".*/\1/' |sed -e 's/\\u0026/\&/g'
}
jiget(){
sed -r 's/.*'$1'":\{"uri":"([^"]*)".*/\1/'
}
jget(){
sed -r 's/.*'$1'":"([^"]*)".*/\1/'
}

jdir(){
if [ -d $1 ]
then
    jjdir=$1/
else
    mkdir $2
    jdir $2 $3 $4
fi
}

read -p '输入链接:' vurl
if [ -z "$vurl" ]
then
echo 没有输入
exit 0
else
echo $vurl
fi

ua1='Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36'
ua=$ua1

xzq="curl -A 'BytedanceWebview/d8a21c6'"
vids=`curl -A "$ua" $vurl|sed -r 's/.*\/([0-9]{19}).*/\1/g'`
vtmp=$vids.json
jpi=`echo aHR0cHM6Ly93d3cuaWVzZG91eWluLmNvbS93ZWIvYXBpL3YyL2F3ZW1lL2l0ZW1pbmZvLz9pdGVtX2lkcz0= |base64 -d`

curl -A "$ua" $jpi$vids>$vtmp

oc=`cat $vtmp |jjget origin_cover`
pa=`cat $vtmp |jjget play_addr|sed -e 's/playwm/play/' -e 's/720/1080/'`
pi=`cat $vtmp |jiget play_addr`
st=`cat $vtmp |jget  share_title`
nn=`cat $vtmp |jget  nickname`
ui=`cat $vtmp |jget  unique_id`
si=`cat $vtmp |jget  short_id`

echo 作者: $nn($ui)$si
echo 作品: $st
echo 封面: $oc
echo 地址: $pa

jdir $nn $nn $ui tmp
echo 目录:$jjdir

wj=$jjdir$pi.mp4
jj=$jjdir$st.mp4
curl -A "$ua" -o $wj -L $pa 
echo 保存到 $wj
mv $wj "${jj}" && echo  更名成功:$jj || echo 更名失败! 
wj=$jjdir$pi.png
jj=$jjdir$st.png
curl -A "$ua" -o $wj -L $oc
echo 保存到 $wj
mv $wj "${jj}" && echo  更名成功:$jj || echo 更名失败! 
wj=${jjdir}ls.txt
echo $pi >>$wj
echo $st >>$wj
echo $pa >>$wj
echo $oc >>$wj
rm $vtmp

已开通土豪通道:
jkun.zip (1 KB, 下载次数: 3)
平民保存上方代码就能直接使用,土豪则多一种选择直接点击就能下载

这个是怎么压缩的?
zip jkun ikun
上方意思:把ikun打包到jkun.zip
土豪该怎么解压 unzip jkun.zip
如果是服务器下载到本地后该怎么上传?
scp {jkun路径} {服务器用户名}@{服务器IP}/jkun.zip
输入密码+回车

scp在命令行用,不友好,所以用sftp,鼠标一拉就上传了

文本该怎么保存,常用的编辑器有vi vim nano
centos 默认没有nano
debian 默认没有vi或者vim
怎么进入编辑器:
选择你拥有的编辑器+文件名,例如vi ikun
右键粘贴你拷贝到的代码
该如何保存退出?
vi,vim:按键盘左上角那个esc,然后输入【 :wq 】再按回车
nano:先按我家鸽鸽的特长和篮球ctrl+o,不改名直接回车ctrl+x退出
android该怎么用?
termux 用编辑器粘贴进去
mt2这个就是随意了,可以先解压再打开终端,也可以直接终端粘贴保存
su原生环境,可能会不稳定
padavan 路由器好像能用,打开ssh感觉有点鸡肋
win怎么用?
msys2   git bash   busybox.exe   gow  好像挺多的,搜索关键字win bash
都没怎么用,就不列举了
busybox.exe curl.exe ikun 三个文件可以放在同一文件夹,进入cmd
busybox.exe bash 开启环境之后输入ikun回车

想右键随时打开cmd
reg add HKCU\SOFTWARE\Classes\Directory\background\shell\CMD.\command /d "cmd.exe /s /k pushd \"%%V\""
reg add HKCU\SOFTWARE\Classes\Directory\background\shell\CMD. /v Icon /d cmd.exe
reg add HKCU\SOFTWARE\Classes\Directory\background\shell\CMD. /v MUIVerb /d CMD命令行


ikun脚本用法:
sh ikun
centos 可以使用./ikun

脚本会提示你输入分享链接

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

一条小渣团OvO 发表于 2022-12-4 09:16
鸽鸽下的蛋你别吃
lfordch 发表于 2022-12-5 04:02
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表