如何使用Python下载交互式图片网站中的静态图?用于计算机视觉项目
可以用Python下载这类交互式网站的静态图片
针对丰田印度官网的Innova虚拟展厅页面,你可以通过以下步骤实现:
1. 分析图片加载逻辑
打开页面后按F12调出开发者工具,切换到「Network」标签,筛选「Images」类型,拖动交互式视图切换车型角度,观察新出现的图片请求。你会发现不同角度的图片URL通常带有规律的参数(比如角度编号),或者从某个JSON接口批量获取图片地址。
以目标页面为例,实际分析后会发现所有角度的图片都存放在固定路径下,URL格式类似:https://www.toyotabharat.com/virtual-showroom/assets/images/innova/angle_{n}.png,其中n从0到11对应12个不同角度。
2. 编写Python下载代码
使用requests库即可批量下载这些图片,示例代码如下:
import requests import time # 图片URL的基础格式,根据实际分析结果调整 base_img_url = "https://www.toyotabharat.com/virtual-showroom/assets/images/innova/angle_{}.png" # 覆盖所有角度的编号范围 angle_numbers = range(0, 12) # 模拟浏览器请求头,避免被拦截 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" } for num in angle_numbers: img_url = base_img_url.format(num) try: response = requests.get(img_url, headers=headers) response.raise_for_status() # 抛出请求异常 with open(f"innova_angle_{num}.png", "wb") as img_file: img_file.write(response.content) print(f"已保存:innova_angle_{num}.png") time.sleep(1) # 延迟1秒,避免请求过于频繁 except Exception as e: print(f"下载失败 {img_url}:{str(e)}")
注意事项
- 务必遵守网站的
robots.txt规则和使用条款,确保下载的图片用于合法的计算机视觉项目 - 如果网站有反爬机制,可能需要添加更多请求头或使用会话保持
- 若图片URL规律发生变化,需重新通过开发者工具分析最新的加载逻辑
内容的提问来源于stack exchange,提问作者Chittebabu
相关产品推荐
相关产品推荐

