利用Python实现获取无人机图片并自动下载保存的简易爬虫

爬虫软件(网络爬虫),就是一款自动模仿人上网的工具:代替你自动访问网站、APP、网页,批量抓取复制上面的文字、图片、价格、联系方式、数据、文件等内容,不用人工一个个复制粘贴。

一、主要用途

  • 批量爬取商品价格、销量、店铺信息
  • 抓取文章、新闻、小说、图片、视频
  • 采集企业电话、地址、商户信息
  • 行业数据分析、竞品价格监控
  • 搜索引擎(百度 / 谷歌本质就是超级大爬虫)

二、工作原理

  • 程序自动发送网络请求,打开网页;
  • 解析网页代码,筛选想要的数据;
  • 自动保存到表格、文档、数据库;
  • 自动翻页、换链接,持续批量采集。

一种爬虫软件是现成的爬虫软件,点点鼠标就能用,不用写代码,适合普通人,但功能较弱。另一种爬虫软件是用 Python 等代码写的自定义爬虫,灵活强大,适合定制复杂采集需求。爬虫就是自动化批量上网采集数据的工具,解放人工复制,效率极高,但一定要合规使用。

三、环境配置

1、安装需要的库

pip install requests beautifulsoup4

说明:requests:模拟浏览器,访问网站、拿回网页源代码

BeautifulSoup:解析网页代码,精准提取文字 / 链接 / 图片

pip install requests lxml

2、利用python实现爬取无人机图片并自动下载保存的简易爬虫

代码如下

python 复制代码
import os
import requests
import time

# 配置
save_dir = "无人机图片"
max_num = 30   # 下载数量

# 新建文件夹
os.makedirs(save_dir, exist_ok=True)

# 极简图片API,无反爬、动态直接返回原图
img_api_list = [
    "https://picsum.photos/800/600?random=101",
    "https://picsum.photos/800/600?random=102",
    "https://picsum.photos/800/600?random=103",
    "https://picsum.photos/800/600?random=104",
    "https://picsum.photos/800/600?random=105",
    "https://picsum.photos/800/600?random=106",
    "https://picsum.photos/800/600?random=107",
    "https://picsum.photos/800/600?random=108",
    "https://picsum.photos/800/600?random=109",
    "https://picsum.photos/800/600?random=110",
]

headers = {
    "User-Agent":"Mozilla/5.0"
}

count = 0
for url in img_api_list:
    if count >= max_num:
        break
    try:
        res = requests.get(url, headers=headers, timeout=10)
        count += 1
        path = os.path.join(save_dir, f"无人机_{count}.jpg")
        with open(path, "wb") as f:
            f.write(res.content)
        print(f"✅ 成功下载第 {count} 张")
        time.sleep(0.2)
    except Exception as e:
        print(f"❌ 失败:{e}")

print(f"\n结束!总共下载 {count} 张图片")

运行结果如下:

发现无人机爬取的图像不太真实如下图所示

python 复制代码
import os
import requests
import time

# 保存目录
save_dir = "无人机图片_正常可打开"
os.makedirs(save_dir, exist_ok=True)

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36"
}

# 全部为【真实、完整、能正常打开】的无人机实拍图链接
drone_list = [
    "https://images.unsplash.com/photo-1473968512647-3e447244af8f",
    "https://images.unsplash.com/photo-1508614778959-128b604f6f38",
    "https://images.unsplash.com/photo-1516035069371-29a1244ee813",
    "https://images.unsplash.com/photo-1531746730736-484f4fb4880f",
    "https://images.unsplash.com/photo-1579403124614-197f69d8187b",
    "https://images.unsplash.com/photo-1598517168070-ee14aa5fa3e8",
    "https://images.unsplash.com/photo-1602524476217-3857f72f20f9",
    "https://images.unsplash.com/photo-1581388447307-80a88145e91f",
    "https://images.unsplash.com/photo-1540342146222-ade96e896f3d",
    "https://images.unsplash.com/photo-1527977965265-493a246e6550"
]

count = 0
for url in drone_list:
    try:
        res = requests.get(url, headers=headers, timeout=15)
        if res.status_code == 200:
            count += 1
            path = os.path.join(save_dir, f"drone_{count}.jpg")
            with open(path, "wb") as f:
                f.write(res.content)
            print(f"✅ 成功保存第 {count} 张,可正常打开")
        time.sleep(0.4)
    except Exception as e:
        print(f"❌ 下载失败:{e}")

print("\n=====================================")
print(f"✅ 完成!一共下载 {count} 张无人机图片")
print(f"📂 路径:{os.path.abspath(save_dir)}")

爬取的图像如下图所示:

相关推荐
老王生涯4 小时前
针对cloudflare防护的爬虫策略——CDP
爬虫·cloudflare·cdp·反爬
禹凕6 小时前
机器学习之数据清洗(Machine Learning about Data Cleaning)
人工智能·爬虫·python·机器学习·数据挖掘
数据狐(Datafox)8 小时前
淘宝商品详情API实战:多语言代购商城自动同步数据完整方案
开发语言·前端·数据库·爬虫·json
梅孔立7 天前
Fiddler 工具安装抓包 教程 https
爬虫
feasibility.7 天前
MediaCrawler媒体采集平台安装与使用
爬虫·抖音·小红书·微博·bili
Patrick在香港8 天前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
小静AI工程实验室9 天前
Python 爬虫中文乱码排查:严格解码、UTF-8 BOM 与 JSON 转义的 12 项实验
字符编码·爬虫·python
咖啡星人k9 天前
从自建爬虫到托管工具:数据采集选型对照表
爬虫·数据采集·mcp
电商API_1800790524710 天前
拍照找同款是怎么实现的?淘宝以图搜图接口 item_search_img 对接实战
大数据·爬虫·数据挖掘·数据分析·代采api
Patrick在香港10 天前
Python 抓 0.91 GB 香港法例:Agent 的进度该写进磁盘,不是写进上下文
爬虫·python·api·claude·香港