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

如何用Python爬取苹果App Store需点击按钮加载的应用版本历史数据

苹果App Store应用版本历史爬取方案

你已经安装了火狐版Selenium,直接通过模拟点击交互即可拿到数据,具体步骤如下:

  • 先导入Selenium相关依赖
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
  • 初始化驱动并访问目标页面,加等待逻辑避免元素未加载报错
# 初始化Firefox驱动
driver = webdriver.Firefox()
# 访问Netflix应用页面
driver.get("https://apps.apple.com/us/app/netflix/id363590051")
# 全局隐式等待3秒,也可以根据自己的网络情况调整
driver.implicitly_wait(3)
  • 定位Version History按钮,不要使用页面上的动态id(ember开头的id是Ember框架自动生成的,每次访问都会变化,定位会失效),推荐用文本匹配定位
# 等待按钮可点击后再定位
version_btn = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, '//button[text()="Version History"]'))
)
  • 模拟点击按钮,等待弹窗内容加载完成后提取数据
# 点击按钮触发弹窗加载
version_btn.click()
# 等待弹窗容器加载出内容
modal_container = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, 'modal-container'))
)
# 直接获取弹窗内的HTML代码自行解析,也可以直接在container下定位版本、更新时间、更新说明等字段
version_history_html = modal_container.get_attribute('innerHTML')
# 处理完后关闭驱动
driver.quit()

如果需要更高性能的爬取,可以直接抓请求接口:点击按钮时打开浏览器控制台的网络面板,筛选XHR类型的请求,就能找到苹果官方返回版本历史数据的接口,直接用requests库调用该接口即可,返回的是结构化的JSON数据,不需要启动浏览器,爬取效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:48:03