利用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)}")

爬取的图像如下图所示:

相关推荐
码界奇点1 小时前
基于Python的微信公众号爬虫系统设计与实现
开发语言·爬虫·python·毕业设计·web·源代码管理
小白学大数据2 小时前
抖音搜索页数据批量爬取,多关键词同步采集实现
爬虫·python·数据分析
tang777894 小时前
爬虫爬公开数据被封?实测有效!从原因排查到落地解决全指南
大数据·爬虫·python·网络爬虫·ip
Jelena157795857927 小时前
Python 爬虫获取淘宝商品详情(标题、主图、SKU、价格)实战指南
网络·爬虫·python
上海云盾-小余7 小时前
游戏业务接口防护:防爬虫、防刷量、防恶意请求一体化方案
爬虫·游戏
星空椰1 天前
从零到实战:一套完整的 Python 爬虫技术体系(requests + BeautifulSoup + 正则 + JSON)
爬虫·python·json·beautifulsoup
zhangfeng11332 天前
合法爬虫四底线 法律边界
爬虫
S1998_1997111609•X2 天前
论恶意注入污染蜜罐进程函数值取仺⺋以集团犯罪获取数据爬虫的轮系依据
网络·数据库·爬虫·网络协议·百度
大邳草民2 天前
Python 爬虫:从 HTTP 请求到接口分析
笔记·爬虫·python