如何改写GitHub专属代码以获取FiveM最新Linux构建包下载链接?
编写脚本获取FiveM Linux构件的最新下载链接
你需要替换依赖GitHub API的脚本逻辑,改为解析FiveM构件页面的HTML内容来获取最新下载链接。以下是几种可行的实现方案:
方案1:使用基础命令行工具(curl+awk)
这是无需额外安装工具的通用方案,利用页面中最新构件链接排在最顶部的特性,提取第一个匹配的fx.tar.xz链接:
# 获取最新FiveM Linux构件并下载 LOCATION=$(curl -s https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master \ | awk -F '"' '/fx.tar.xz/ {print $2; exit}') \ ; curl -L -o fx.tar.xz "https://runtime.fivem.net$LOCATION"
逻辑说明:
curl -s静默获取页面HTML源码awk以双引号为分隔符,找到包含fx.tar.xz的行,提取第二个字段(即<a>标签的href属性值),找到第一个匹配后立即退出- 拼接完整下载URL,用
curl -L跟随跳转并保存为fx.tar.xz
方案2:使用grep+sed组合
如果更习惯用grep和sed,也可以这样实现:
LOCATION=$(curl -s https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master \ | grep -o '<a href="[^"]*fx.tar.xz"' \ | head -n 1 \ | sed 's/<a href="//;s/">//') \ ; curl -L -o fx.tar.xz "https://runtime.fivem.net$LOCATION"
逻辑说明:
grep -o只输出匹配到的<a>标签片段head -n 1取第一个匹配结果(最新构件)sed移除标签前缀和后缀,提取纯相对路径
方案3:使用专业HTML解析工具(更健壮)
如果页面结构有小幅度调整,基础文本匹配可能失效,推荐使用pup(一款基于Go的HTML解析工具),通过CSS选择器精准定位链接:
# 先安装pup(以Debian/Ubuntu为例:sudo apt install pup) LOCATION=$(curl -s https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master \ | pup 'a[href$="fx.tar.xz"] attr{href}' \ | head -n 1) \ ; curl -L -o fx.tar.xz "https://runtime.fivem.net$LOCATION"
逻辑说明:
pup 'a[href$="fx.tar.xz"] attr{href}'用CSS选择器筛选所有链接结尾为fx.tar.xz的<a>标签,提取它们的href属性head -n 1获取第一个结果(页面顶部的最新构件)
内容的提问来源于stack exchange,提问作者Mandatti
相关产品推荐
相关产品推荐

