Python2实战:单张图片下载与批量网页图片抓取教程

Luna
Luna
发布时间:2026-10-13| 2人浏览过
原创

本文基于Python2环境,详细演示如何利用urllib库下载指定URL的单张图片,并结合BeautifulSoup解析HTML结构,批量获取网页中所有图片链接并保存至本地。教程涵盖环境配置、代码实现及结果验证,适合Python初学者快速掌握网络爬虫基础技能。

前言

为了深入掌握Python爬虫技术,此前已断续学习过Python基础,但发现遗忘速度较快。因此决定重新复习基础知识,并通过实际案例进行强化训练。本文主要介绍在Python2环境下,如何下载单张图片以及如何从网页中批量抓取图片的完整流程,供读者参考学习。

一、需求分析

1、已知图片的URL地址,需将其下载并保存至本地计算机。

2、已知网页地址,需提取该网页图片列表中的所有图片,并批量下载至本地。

二、准备工作

1、开发系统:Windows 7 64位操作系统。

2、开发环境:Python 2.7版本。

3、开发工具:PyCharm集成开发环境。

4、浏览器:Google Chrome浏览器。

三、操作步骤

A. 已知图片URL地址,将图片下载至本地。

a1、启动Chrome浏览器,访问任意图片网站。

a2、按下F12或Fn+F12键打开开发者工具,选中目标图片,查看其src属性即为图片地址,复制该URL。

a3、编写Python代码。此过程需引用urllib库,并运用Python的文件IO操作知识。

# -*- coding:utf-8 -*
'''
知道图片地址,下载图片到本地
'''
import urllib
#图片url地址
url = 'http://p1.wmpic.me/article/2017/12/22/1513930326_ciDepIns_215x185.jpg'
#方法一
#获取图片数据
res = urllib.urlopen(url).read()
#文件要保存的路径名和文件名
path = "e:\dlimg\pic2.jpg"
#使用io写入图片
f = open(path , "wb")
f.write(res)
f.close()
#方法二
res2 = urllib.urlretrieve(url , 'e:\dlimg\pic3.jpg')

B. 已知网页地址,将图片列表中的图片全部下载至本地。

b1、以上述网页为爬取目标,该页面图片列表包含30张照片。需获取每张图片的src属性值,随后执行下载操作。

b2、使用BeautifulSoup库解析网页HTML,通过标签选择器提取每张图片的src属性值。

b3、编写相应的Python代码以实现上述逻辑。

# -*- coding: utf-8 -*-
import requests
import urllib
from bs4 import BeautifulSoup
url = 'http://www.wmpic.me/tupian/qingxin'
res = requests.get(url)
#使用BeautifulSoup解析网页
soup = BeautifulSoup(res.text , 'html.parser')
#通过标签选择器定位到图片位置(与css选择器差不多)
pic_list = soup.select('.item_box .post a img')
i = 0
for img_url in pic_list:
 #获取每个img标签的src属性
 url_list = img_url['src']
 #保存路径,后面是文件名
 save_path = 'E:\dlimg\\'+'downloadpic_'+str(i)+'.jpg'
 #解析图片,写入到本地
 pic_file = urllib.urlopen(url_list).read()
 f = open(save_path, "wb")
 f.write(pic_file)
 f.close()
 i = i+1

C. 运行结果分析(红色框内pic2.jpg和pic3.jpg为A步骤的运行结果,其余以downloadpic_*.jpg命名的图片为步骤B的运行结果)。

总结

以上为本文的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对本站的支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。