python入门012~使用python3爬取网络图片并保存到本地

上一节我们学习了python3借助requests类库爬取网页数据,这一节我们继续深入的讲解python爬虫的实现。今天要将的是使用python3爬取网络图片,并保存到本地。

本节知识点
1,python3爬取网站源码
2,正则匹配获取图片链接
3,使用python3将不怕保存到本地

一,首先我们来看下要爬取的网址

下图箭头所指的就是我们要爬取的图片。


二,爬取网址源码到本地

python入门012~使用python3爬取网络图片并保存到本地_第1张图片

通过上图我们可以看到,我们成功的爬取到了网站源码,而这个网站的

三,正则表达式匹配图片链接

python入门012~使用python3爬取网络图片并保存到本地_第2张图片

通过上图可以看出,我们成功的匹配到了网站源码里的图片链接,接下来,我们就要把这个图片保存在本地了。

四,保存图片到本地

python入门012~使用python3爬取网络图片并保存到本地_第3张图片

如上图,我们做保存图片的时候,需要先在我们代码的外层目录创建一个 imgs文件夹,用于存放图片。然后编写核心代码。

五,完整代码如下。

python入门012~使用python3爬取网络图片并保存到本地_第4张图片

六,运行代码,看下效果

python入门012~使用python3爬取网络图片并保存到本地_第5张图片

可以看下我们爬取到的图片


python入门012~使用python3爬取网络图片并保存到本地_第6张图片

最后把完整代码贴给大家

# python3爬取网络图片
import requests
import re

# 第一个爬取网址
url = 'http://www.nipic.com/photo/jingguan/ziran/index.html'

# 获得网页源码
data = requests.get(url).text
# print("网站源码", data)

# 图片正则表达式
regex = r'data-src="(.*?.jpg)"'
# re是一个列表
pa = re.compile(regex)  # 创建一个pa模板,使其符合匹配的网址
ma = re.findall(pa, data)  # findall 方法找到data中所有的符合pa的对象,添加到re中并返回
# print(ma)

# 将ma中图片网址依次提取出来
i = 0
for image in ma:
    i += 1
    image = requests.get(image).content
    print(str(i) + '.jpg 正在保存。。。')
    with open('../imgs/' + str(i) + '.jpg', 'wb') as f:  # 注意打开的是就jpg文件
        f.write(image)

print('保存完毕')

往期文章

  • python入门001~python开发工具 pycharm的安装与破解(mac和window都有讲)
    https://www.jianshu.com/p/dc8299467718
  • python入门002~创建属于自己的第一个python项目
    https://www.jianshu.com/p/eda772bde32a
  • python入门003~python3的安装~以python3最新版为例(Mac window都有讲)
    https://www.jianshu.com/p/4bb23e40a7ac
  • python入门004~创建属于自己的第一个python3项目~python3基础知识的讲解
    https://www.jianshu.com/p/0fadc0369abd
  • python入门005~基本数据类型和变量的学习
    https://www.jianshu.com/p/44c2a7b34cbf
  • python入门010~python3操作数据库 借助pycharm快速连接并操作mysql数据库
    https://www.jianshu.com/p/a23f414cc2f2
  • python入门011~python3借助requests类库3行代码爬取网页数据
    https://www.jianshu.com/p/cf22a679e96f
  • python入门012~使用python3爬取网络图片并保存到本地
    https://www.jianshu.com/p/651effd4f3b8
  • python入门013~爬虫篇,网页爬虫,图片爬虫,文章爬虫,Python爬虫爬取新闻网站新闻
    https://www.jianshu.com/p/7e59f52ea0b6
  • python入门014~把爬取到的数据存到数据库,带数据库去重功能
    https://www.jianshu.com/p/5ba719a7d8cb
  • python入门015---python爬取前程无忧51job的职位信息并存入mysql数据库(带数据去重)
    https://www.jianshu.com/p/fe434693781f

视频教程

点击这个地址可以试看:https://www.bilibili.com/video/av55521385/
如果觉得视频教程不错,可以加老师微信购买 ,老师微信 2501902696

你可能感兴趣的:(python入门012~使用python3爬取网络图片并保存到本地)