AppStoreScraper无法识别app-id报错问题求助
App Store 评论爬取 ID 不存在报错解决方案
核心问题原因
App Store 的应用 ID 和访问地区强绑定,若你整理的 ID 所属地区和爬虫默认请求的地区不匹配,就会触发「应用不存在」的异常。
可行解决步骤
- 校验 app ID 所属地区
你参考的搜索结果是美区内容,如果你整理的 ID 是从其他地区 App Store 获取的,就无法在美区接口返回正常结果。直接在 App Store 搜索对应应用名称,切换到对应地区后重新获取正确的 app ID,保证 ID 和你要爬取的地区匹配。 - 给爬虫指定对应地区参数
AppStoreScraper 库初始化时可以传入country参数,和你 ID 所属地区保持一致即可,美区设为us,中国区设为cn,初始化示例:from app_store_scraper import AppStore # 美区应用初始化示例 scraper = AppStore(country="us", app_name="你的应用名称") - 替换过时的调用方法
旧教程里的get_multiple_app_details方法已经在新版库中弃用,建议直接遍历你的 CSV 里的 ID 列表,单个获取应用信息再聚合,避免旧方法的兼容问题,示例代码片段:import pandas as pd # 读取你整理的应用列表 CSV app_df = pd.read_csv("你的应用列表文件路径.csv") all_reviews = [] for _, row in app_df.iterrows(): app_id = str(row["app-id"]) # 初始化对应地区的应用实例 app = AppStore(country="us", app_id=app_id) # 拉取评论,可自定义拉取数量,最多2000条 app.review(how_many=2000) all_reviews.extend(app.reviews) # 最终可将 all_reviews 转成 DataFrame 导出为本地文件 - 增加异常捕获逻辑避免爬取中断
给循环加异常捕获,遇到确实无效的 ID 直接跳过,不会中断整个爬取流程:from app_store_scraper import AppStoreException import time for _, row in app_df.iterrows(): try: app_id = str(row["app-id"]).strip() app = AppStore(country="us", app_id=app_id) app.review(how_many=2000) all_reviews.extend(app.reviews) # 加3秒延迟避免被限流 time.sleep(3) except AppStoreException as e: print(f"应用ID {app_id} 获取失败,已跳过,错误信息:{e}") continue
额外注意事项
- 爬取前先检查 CSV 里的 app-id 列是否是纯数字,有没有空格、特殊字符,调用前先做去空格处理
- 不要短时间发起大量请求,每爬完一个应用加3-5秒延迟,避免被 App Store 临时限流
内容的提问来源于stack exchange,提问作者user16765635
相关产品推荐
相关产品推荐

