You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10环境下如何用脚本获取下载按钮的最新文件下载链接

获取Apkpure动态下载链接的脚本实现

核心原理

访问https://d.apkpure.com/b/APK/{包名}?version=latest时,服务器返回的HTML页面中包含临时有效的真实下载链接。我们需要模拟浏览器请求头获取页面内容,再从HTML中提取出这个动态链接。


1. Bash + curl 实现

# 替换成目标APP包名
PACKAGE_NAME="org.telegram.messenger"
BASE_URL="https://d.apkpure.com/b/APK/${PACKAGE_NAME}?version=latest"

# 模拟浏览器请求头获取页面,提取真实下载链接
DOWNLOAD_URL=$(curl -s -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "$BASE_URL" | grep -o 'https://[^"]*\.apk' | head -n 1)

# 验证链接并下载
if [ -n "$DOWNLOAD_URL" ]; then
    echo "获取到下载链接: $DOWNLOAD_URL"
    curl -O -J -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "$DOWNLOAD_URL"
else
    echo "无法获取有效下载链接"
fi

2. PowerShell 实现

# 替换成目标APP包名
$packageName = "org.telegram.messenger"
$baseUrl = "https://d.apkpure.com/b/APK/$packageName`?version=latest"

# 设置浏览器请求头
$headers = @{
    "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}

# 获取页面内容并提取下载链接
$pageContent = Invoke-WebRequest -Uri $baseUrl -Headers $headers -UseBasicParsing | Select-Object -ExpandProperty Content
$downloadUrl = [regex]::Match($pageContent, 'https://[^"]*\.apk').Value

# 下载文件
if ($downloadUrl) {
    Write-Host "获取到下载链接: $downloadUrl"
    Invoke-WebRequest -Uri $downloadUrl -Headers $headers -OutFile "$packageName.apk"
} else {
    Write-Host "无法获取有效下载链接"
}

3. Python 实现

import requests
import re

# 目标APP包名
package_name = "org.telegram.messenger"
base_url = f"https://d.apkpure.com/b/APK/{package_name}?version=latest"

# 模拟浏览器请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}

# 获取页面并提取链接
response = requests.get(base_url, headers=headers)
download_url = re.search(r'https://[^"]*\.apk', response.text)

if download_url:
    download_url = download_url.group()
    print(f"获取到下载链接: {download_url}")
    # 下载文件
    apk_response = requests.get(download_url, headers=headers, stream=True)
    with open(f"{package_name}.apk", "wb") as f:
        for chunk in apk_response.iter_content(chunk_size=8192):
            f.write(chunk)
    print("下载完成")
else:
    print("无法获取有效下载链接")

注意事项

  • 必须添加User-Agent请求头,否则服务器会返回无效页面或拒绝请求
  • 真实下载链接是临时的,每次请求都会生成新的,需每次先获取再下载
  • 若后续Apkpure页面结构变化,可能需要调整正则表达式或提取逻辑

内容的提问来源于stack exchange,提问作者Hans-Martin Rottenschlager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:25:22