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

如何使用Jsoup获取MusicalDown页面结果以提取TikTok视频URL

解决MusicalDown提取TikTok视频URL的问题

你的代码直接提交POST请求但未处理会话Cookie,这是导致无有效返回的核心问题。MusicalDown需要先通过GET请求主页获取会话标识,再携带该Cookie提交POST请求,同时要补充必要的请求头模拟真实浏览器行为。

修正后的代码如下:

Thread {
    val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    val targetUrl = "https://www.tiktok.com/@islam_mch573/video/7221917367616490757"
    
    // 第一步:GET主页获取会话Cookie
    val getResponse = Jsoup.connect("https://musicaldown.com/en")
        .userAgent(USER_AGENT)
        .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
        .header("Accept-Language", "en-US,en;q=0.5")
        .method(Connection.Method.GET)
        .execute()
    val sessionCookies = getResponse.cookies()

    // 第二步:携带Cookie提交POST请求
    val postResponse = Jsoup.connect("https://musicaldown.com/en/download") // 注意提交路径是/download,不是主页
        .userAgent(USER_AGENT)
        .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
        .header("Accept-Language", "en-US,en;q=0.5")
        .header("Referer", "https://musicaldown.com/en")
        .cookies(sessionCookies)
        .data("link_url", targetUrl)
        .ignoreContentType(true)
        .method(Connection.Method.POST)
        .execute()

    // 解析响应提取视频URL
    val doc = postResponse.parse()
    // MusicalDown的下载链接通常在class为"download-links"的容器下的a标签里
    val videoUrlElement = doc.selectFirst("div.download-links a")
    val videoUrl = videoUrlElement?.attr("href") ?: "未找到视频URL"

    runOnUiThread {
        data.text = videoUrl
    }
}.start()

关键修正点说明:

  • 先发起GET请求获取会话Cookie,服务器需要这个标识验证请求合法性
  • POST请求的目标路径是/en/download,不是主页路径
  • 补充Referer、Accept等请求头,避免被服务器判定为爬虫
  • 解析时直接定位到下载链接的元素,而非输出整个页面文本

如果仍无法获取结果,可能是网站更新了表单参数或反爬机制,此时需要抓包浏览器的真实请求,对比参数和请求头是否完全一致。

内容的提问来源于stack exchange,提问作者وائل خالد

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:44:59