Python 保存 网页上的图片

您所在的位置:网站首页 如何将网页图片保存下来 Python 保存 网页上的图片

Python 保存 网页上的图片

2024-07-14 05:00| 来源: 网络整理| 查看: 265

使用Python保存网站上的图片。 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。

使用`Python`保存网站上的图片。 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。 from urllib import request import os def url_open(url): req = request.Request(url) response = request.urlopen(url) html = response.read() return html def find_imgs(url): #构造一个函数,返回一个存储了若干图片地址的列表 html = url_open(url).decode('utf-8') #使用decode('utf-8') 建立一个str对象 img_addrs = [] #img_addrs是一个储存图片地址的列表 a = html.find('img src=') #寻找图片地址的起始位置,如果没有找到find()会返回-1 while a != -1: #将页面上所有海报图片全部提取 b = html.find('.jpg',a, a+100) #从a-a+100区间,寻找图片地址的末尾位置, if b != -1: c = html[a+9:b+4] #c就是在html中截取到的图片地址 if 'view' in c: #进行一步筛选,只想保留海报图片,不需要其他图片 print(c) #打印出图片地址 img_addrs.append(c) #将图片地址添加到列表中 else: #没有找到合适的图片地址怎么办? b = a + 100 #接着找 a = html.find('img src=',b) return img_addrs def save_imgs(folder,img_addrs): #构造一个函数能够保存图片 os.mkdir(folder) #建立文件夹 os.chdir(folder) #跳转到该文件夹 进行之后文件的写入 for each in img_addrs: #依次写入图片。并采用图片地址最后一个小节 作为文件名 filename = each.split("/")[-1] with open(filename,'wb')as f: img = url_open(each) f.write(img) def download_jpg(): folder = 'D:/eclmn/tobeD' #设定的保存位置,以及目标网址 url = "https://movie.douban.com/subject/6390825/photos?type=R&start=0&sortby=like&size=a&subtype=o" img_addrs = find_imgs(url) #调用find_imgs()函数 print("共保存 %d 张图片"% len(img_addrs)) #打印图片数量 save_imgs(folder,img_addrs) #调用save_imgs() 函数 if __name__ == '__main__': download_jpg()

显示的结果:

https://img3.doubanio.com/view/photo/m/public/p2512123434.jpg https://img1.doubanio.com/view/photo/m/public/p2502233869.jpg https://img3.doubanio.com/view/photo/m/public/p2462191333.jpg https://img3.doubanio.com/view/photo/m/public/p2512869662.jpg https://img3.doubanio.com/view/photo/m/public/p2511515914.jpg https://img3.doubanio.com/view/photo/m/public/p2506117181.jpg https://img3.doubanio.com/view/photo/m/public/p2511801982.jpg https://img3.doubanio.com/view/photo/m/public/p2511586591.jpg https://img3.doubanio.com/view/photo/m/public/p2506401176.jpg https://img3.doubanio.com/view/photo/m/public/p2512208685.jpg https://img3.doubanio.com/view/photo/m/public/p2512202212.jpg https://img3.doubanio.com/view/photo/m/public/p2511585613.jpg https://img3.doubanio.com/view/photo/m/public/p2508851750.jpg https://img3.doubanio.com/view/photo/m/public/p2507079945.jpg https://img3.doubanio.com/view/photo/m/public/p2502610863.jpg https://img3.doubanio.com/view/photo/m/public/p2502225690.jpg https://img1.doubanio.com/view/photo/m/public/p2493795748.jpg 共保存 17 张图片

可以使用正则表达式进行匹配。在import re之后 输入下面两句就会在html中查找符合条件的字符串,并以列表的形式存储。

p=r'


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3