python 下载图片_Python下载图片

本文介绍了一种使用Python进行网页图片爬取的方法。通过构建Opener并设置User-Agent来避免403错误及解决乱码问题,实现了从指定网址抓取图片并保存的功能。文章详细展示了如何利用正则表达式匹配图片链接,以及如何使用urlretrieve函数下载并保存这些图片。
摘要由CSDN通过智能技术生成

# -*- encoding:UTF-8 -*-

import re,urllib2,time,urllib

def getPage(url):

'''下载文件html代码,找出一楼的核心代码'''

opener = urllib2.build_opener()

#不加头信息则出现403错误和乱码

opener.addheaders = [('User-agent', 'Mozilla/5.0')];

time.sleep(10)

htmlAll = opener.open( url ).read()

#文件保存编码和文件编辑编码都是utf-8,所以decode一次,不然会出现乱码,但是不影响结果。

return htmlAll.decode('utf-8')

def getImg(url):

'''从核心代码中照图图片地址,并且下载保存、命名'''

regImg = 'src="(.*?)"'

dir = 'F:\\downtemp'

pageHtml = getPage(url)

#找到所有图片地址

imglist = re.findall(regImg,pageHtml)

for index in xrange(1,len(imglist)+1):

#得到文件名

strFileNamelist = imglist[index-1].split('/')

strFileNameListLen = len(strFileNamelist)

fileName = strFileNamelist[strFileNameListLen-1]

#得到文件名后缀

suffixNameList = fileName.split('.')

suffixNameLen = len(suffixNameList)

suffixName = suffixNameList[suffixNameLen-1]

#得到保存文件路径

saveFileName = dir + '\\' + str(time.time()) + '_' + fileName

#只保存jpeg和jpg文件

if suffixName == 'jpeg' or suffixName == 'jpg' :

urllib.urlretrieve(url+imglist[index-1], saveFileName)

print saveFileName + ' ok!'

if __name__ == '__main__':

getImg('http://www.huawei.com')

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2013-03-13 17:29

浏览 1374

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值