python爬虫网页中的图片_Python爬虫爬取网页图片

没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来。

今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴,怎么办呢?办法总是有的,即便没有我们也可以创造一个办法。

311152397661749.jpg

下面就看看我今天写的程序:

#coding=utf-8

#urllib模块提供了读取Web页面数据的接口

importurllib.request#re模块主要包含了正则表达式

importre#定义一个getHtml()函数

defgetHtml(url):

page= urllib.request.urlopen(url) #urllib.request.urlopen()方法用于打开一个URL地址

html = page.read() #read()方法用于读取URL上的数据

returnhtmldefgetImg(html):

reg= r'src="(.+?\.jpg)" pic_ext' #正则表达式,得到图片地址

imgre = re.compile(reg) #re.compile() 可以把正则表达式编译成一个正则表达式对象.

html = html.decode('utf-8') #python3

imglist = re.findall(imgre,html) #re.findall() 方法读取html 中包含 imgre(正则表达式)的数据

#把筛选的图片地址通过for循环遍历并保存到本地

#核心是urllib.request.urlretrieve()方法,直接将远程数据下载到本地,图片通过x依次递增命名

x =0for imgurl inimglist:

urllib.request.urlretrieve(imgurl,'D:\E\%s.jpg' %x)

x+= 1html= getHtml("https://tieba.baidu.com/p/xxxxxxxx")print(getImg(html))

运行程序后,下面就是见证奇迹的时刻,打开对应文件夹:

311152242667080.jpg

哇!图片全部保存了下来,so nice! :-)

2019年1月更新备注:

此前代码为2015年Python2.x环境测试,现在已将代码更新,测试环境为Python3.7 ,注意请在D盘新建一个文件夹重命名为E

测试网址:https://tieba.baidu.com/p/2555125530

测试结果如图:

763083-20190107135243132-271676209.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值