【python爬虫】图片的爬取与保存

本文详细介绍如何使用Python的BeautifulSoup库解析HTML页面并获取图片URL,以及如何通过图片URL将图片保存至本地。涵盖了HTML解析、图片爬取和保存的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 写在前面

前端页面的展示通常是是在html文件当中嵌入图片url,爬取图片其实就分为以下几个部分:
S1. 解析html页面获取图片url
S2. 通过图片url将图片保存至本地

下面分别进行讲解。

二. HTML页面解析

HTML的解析主要是使用美味汤BeautifulSoup,关于美味汤的教程可以参考北京理工大学 嵩天老师在中国大学MOOC上的Python爬虫课程。
以下是不是视频课程的截图,就不再码字了,直接看老师的图。
在这里插入图片描述
关于第二张图要简单的说一下,爬虫要对HTML文件的基本语法有一定的了解,知道标签的名称和属性的分别。以下就是一个标签的结构图。
在这里插入图片描述

有了直观认识之后,放一些常用的命令: 参考文章

1.导入BeautifulSoup库

注意大小写,Python是大小写敏感的语言

from bs4 import BeautifulSoup

2.创建BeautifulSoup对象

#方法一:使用urlopen获取页面
import urllib
html = urllib.request.urlopen("http://www.pythonscraping.com/pages/page3.html")
soup = BeautifulSoup(html)
#方法二:使用requests库获取页面
import requests
from bs4 import BeautifulSoup
url= "https://gkcx.eol.cn/schoolhtm/schoolTemple/school1180.htm"
header = {"Accept":"*/*","Connection":"keep-alive","User-Agent":"Mozilla/5.0"}
html = requests.request('GET',url,headers = header)
soup=BeautifulSoup(html.content)
#方法三:还可以通过本地的html文件形成美味汤
soup = BeautifulSoup(open('index.html'))

3.格式化输出HTML页面的内容

(其实就是把HTML文件的代码格式给搞的标准一些,例如缩进等等)

#python 3
print (soup.prettify())

#输出结果实例如下:
<html>
 <head>
  <title>
   The Dormouse's story
  </title>

4. 寻找满足条件的tag

# 查找标签名字为div,且属性满足class=main center的tag
mainCenter = soup.find_all("div",attrs={'class':"main center"})

find_all返回的是<class 'bs4.element.ResultSet'>,如果存在满足以上条件的多个标签,可以通过像访问数组一样访问各个标签。但是经过个人测试,遗憾的是,嵌套在div标签的子div标签无法被寻找出来。

三. 图片爬取和保存

参考资料:https://blog.youkuaiyun.com/weixin_41931602/article/details/80605229 这位大佬对图片爬取和保存在本地的方法总结的很全

我主要使用的是第一种方法,亲测好用

# -*- coding: utf-8 -*-
import urllib
img_src = 'http://724.169pp.net/bizhi/2017/039/1.jpg'
urllib.urlretrieve(img_src,r'C:\\Users\\ME\\Desktop\\Python project\\pachong\\scrapy\\secondDemo\\photo\\1.jpg')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值