使用Python爬虫怎么将网页图片保存到本地

  介绍

这篇文章将为大家详细讲解有关使用Python爬虫怎么将网页图片保存到本地,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

其实和爬取普通数据本质一样,不过我们直接爬取数据会直接返回,爬取图片需要处理成二进制数据保存成图片格式(jpg, png等)的数据文本。

现在贴一个url=https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang - 001. - jpg
请复制上面的url直接在某个浏览器打开,你会看到如下内容:

使用Python爬虫怎么将网页图片保存到本地

这就是通过网页访问到的该网站的该图片,于是我们可以直接利用请求模块,进行这个图片的请求,于是这个网站便会返回给我们该图片的数据,我们再把数据写入本地文件就行,比较简单。

import 请求   头={   & # 39;才能用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/70.0.3538.25  Safari/537.36,核心/1.70.3861.400  QQBrowser/10.7.4313.400& # 39;}   url=& # 39; https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang - 001. - jpg # 39;   re=requests.get (url,头=标题)   打印(re.status_code) #查看请求状态,返回200说明正常=& # 39;路径test.jpg& # 39; #文件储存地址   with 开放(路径,& # 39;wb # 39;), as  f: #把图片数据写入本地,世行表示二进制储存   ,,,,,for  chunk 拷贝re.iter_content (chunk_size=128):   ,,,,,,,f.write(块)

然后得到test.jpg图片,如下

使用Python爬虫怎么将网页图片保存到本地

点击打开查看如下:

使用Python爬虫怎么将网页图片保存到本地

便是下载成功辣,很简单吧。

现在分析下批量下载,我们将上面的代码打包成一个函数,于是针对每张图片,单独一个名字,单独一个图片文件请求,于是有如下代码:

import 请求   def  get_pictures (url路径):   头={才能   ,,,& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/70.0.3538.25  Safari/537.36,核心/1.70.3861.400  QQBrowser/10.7.4313.400& # 39;},   re=才能requests.get (url,头=标题)   打印(re.status_code) #才能查看请求状态,返回200说明正常   with 才能;开放(路径,& # 39;wb # 39;), as  f: #把图片数据写入本地,世行表示二进制储存   ,,,,,,,for  chunk 拷贝re.iter_content (chunk_size=128):   ,,,,,,,,,f.write(块)   url=& # 39; https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang - 001. - jpg # 39;=& # 39;路径test.jpg& # 39; #文件储存地址   get_pictures (url路径)

现在要实现批量下载图片,也就是批量获得图片的网址,那么我们就得分析网页的代码结构,打开原始网站

于是我们需要分别得到该页面中显示的所有图片的url,于是我们再次用请求模块返回当前该页面的内容,如下:

import 请求   头={   ,,,& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/70.0.3538.25  Safari/537.36,核心/1.70.3861.400  QQBrowser/10.7.4313.400& # 39;}   url=& # 39; https://www.ivsky.com/tupian/bianxingjingang_v622/& # 39;   re=requests.get (url,头=标题)   打印(re.text)

运行会返回当前该页面的网页结构内容,于是我们找到和图片相关的也就是jpg或者png等图片格式的字条,如下:

使用Python爬虫怎么将网页图片保存到本地

上面圈出来的* *//img.ivsky.com/img/tupian/t/201008/05/bianxingjingang - 017. jpg * *便是我们的图片url,不过还需要前面加上https:,于是完成的url就是https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang - 017. jpg。

我们知道了这个结构,现在就是把这个提取出来,写个简单的解析式:

import 请求   头={   ,,,& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/70.0.3538.25  Safari/537.36,核心/1.70.3861.400  QQBrowser/10.7.4313.400& # 39;}   url=& # 39; https://www.ivsky.com/tupian/bianxingjingang_v622/& # 39;   re=requests.get (url,头=标题)   def  get_pictures_urls(文本):   圣才能=& # 39;https://www.yisu.com/zixun/img  src="   m=len (st)   我=0   n=len(文本)   url=[] #储存的url   虽然我

使用Python爬虫怎么将网页图片保存到本地