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

使用BeautifulSoup无法提取Facebook视频URL的技术求助

获取Facebook视频真实下载链接的Python实现问题

我编写了一个Python路由函数,向fbdown.net网站传入Facebook视频链接参数,该网站会返回包含视频真实下载URL的HTML页面,我需要解析此HTML获取下载链接。

尝试一:使用BeautifulSoup(失败)

调用路由函数时,返回的是标题为Just a moment的错误HTML页面,即使添加延迟后问题依旧。代码如下:

@app.route('/downloadS', methods=['GET'])
def download_video_S():
    # 从GET请求中获取视频链接
    video_link = request.args.get('link')

    # 向下载页面发送GET请求
    response = requests.get('https://fdown.net/download.php', params={'URLz': video_link})

    time.sleep(30)

    # 用BeautifulSoup解析HTML响应
    soup = BeautifulSoup(response.content, 'html.parser')

    print(soup)

    # 查找SD和HD下载链接
    sd_link = soup.find('a', {'id': 'sdlink'})['href']
    hd_link = soup.find('a', {'id': 'hdlink'})['href']

    # 将链接以JSON格式返回
    response = {'sd_link': sd_link, 'hd_link': hd_link}
    return jsonify(response)

尝试二:使用Selenium(功能正常但有浏览器弹窗问题)

该方法能正常获取到下载链接,但运行时会打开Chrome浏览器,我希望实现无界面仅提取视频真实下载URL。代码如下:

@app.route('/downloadFace', methods=['GET'])
def download_video_Face():
    # 从GET请求中获取视频链接
    video_link = request.args.get('link')

    driver = webdriver.Chrome()

    # Chrome配置项(已注释)
    # chrome_options = Options()
    # chrome_options.add_argument("--headless")  # 启用无头模式,不打开浏览器

    # # 应用配置项初始化驱动


    # 加载网站页面
    driver.get("https://fdown.net/")

    # 找到输入框并填入视频链接
    input_field = driver.find_element(By.NAME, "URLz")
    input_field.send_keys(video_link)

    # 找到下载按钮并点击
    download_button = driver.find_element(By.XPATH, "//button[@type='submit']")
    download_button.click()

    # 等待下载链接加载完成
    driver.implicitly_wait(10)

    # 获取SD和HD下载链接
    sd_link = driver.find_element(By.ID, "sdlink").get_attribute("href")
    hd_link = driver.find_element(By.ID, "hdlink").get_attribute("href")

    # 关闭驱动
    driver.quit()

    # 将链接以JSON格式返回
    response = {'sd_link': sd_link, 'hd_link': hd_link}
    return jsonify(response)

关键问题说明

  • 尝试一中的time.sleep(30)无效,因为延迟是在请求发送后执行,无法等待网站的反爬验证流程;且网站可能通过反爬机制识别出非浏览器请求,返回验证页面。
  • 尝试二中只需启用已注释的无头模式配置,即可实现无界面运行。

内容的提问来源于stack exchange,提问作者Tanvi Verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:45:22