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

爬取的图像如下图所示:

相关推荐
TlSfoward18 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
电商API_1800790524719 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
拓海SEO外贸21 小时前
Google 爬虫管理:抓取预算、404 与重定向
爬虫·搜索引擎·信息可视化·seo·跨境电商·独立站搭建·seo优化
深蓝电商API1 天前
浏览器缓存机制对爬虫有什么影响?
爬虫
Dontla1 天前
网站爬虫控制策略介绍(robots.txt、sitemap.xml、x-robots-tag、noindex、nofollow)网站索引
xml·爬虫·dubbo
Bright Data2 天前
DuckDuckGo 搜索爬取器
爬虫·serp·网页数据
去码头整点薯条ing2 天前
某当网登录滑块【协议+OCR】
爬虫·python·ocr
上海云盾-小余2 天前
中小站点防护避坑:低价高防服务存在的各类安全短板剖析
网络·爬虫·安全·ddos
huangdong_2 天前
电商图片下载工具技术选型与稳定性深度解析:从爬虫到浏览器方案的完整技术演进与源码级实现
爬虫
阿标在干嘛2 天前
从单机到分布式:政策快报爬虫系统的三次重构
分布式·爬虫·重构