python web-spider之图片保存
来源:互联网 发布:unity3d 披风插件 编辑:程序博客网 时间:2024/05/29 11:03
为了更好的展示爬取的目标网站内容,下载目标网站所使用的图片是有必要的。
保持图片在目标网站中的相对路径和名称是比较合适的方案,这需要对图片URL进行split处理。
创建相对路径的代码如下:
def createPath(url):folders=url.split('/')i=3path=folders[2]while i<len(folders)-1:path=os.path.join(path,folders[i])i+=1if not os.path.exists(path):os.makedirs(path)path=path+"/"return path
从图片URL中获取文件名称:
filename=imgurl.split('/')[-1]
以下代码可以获取页面中的所有jpg图片,并保存到当前目录下与目标网站相一致的相对路径中。
import reimport urllibimport os def getHtml(url):page = urllib.urlopen(url)html = page.read()return htmldef createPath(url):folders=url.split('/')i=3path=folders[2]while i<len(folders)-1:path=os.path.join(path,folders[i])i+=1if not os.path.exists(path):os.makedirs(path)path=path+"/"return pathdef getImg(html):reg = r'src="?\'?(\S+\.jpg)"?\'?'imgre = re.compile(reg)imglist = imgre.findall(html)x = 0for imgurl in imglist:if not re.match("^http",imgurl):imgurl="http://image.baidu.com/"+imgurl print imgurlfilename=imgurl.split('/')[-1]path=createPath(imgurl)filename=path+filenameprint filenameurllib.urlretrieve(imgurl,filename)html = getHtml("http://image.baidu.com")getImg(html)
上述代码会爬取image.baidu.com首页中所有的jpg图片,大部分图片并不在image.baidu.com这个服务器上,例如:http://img0.bdstatic.com/img/image/shouye/fslsdkdk.jpg,
这时代码会自动创建一个域名文件夹img0.bdstatic.com,然后在给文件夹下创建路径img/image/shouye/,最后下载文件fslsdkdk.jpg到img0.bdstatic.com/img/image/shouye/路径下。
参考
http://www.oschina.net/question/1016509_114210
0 0
- python web-spider之图片保存
- Python Spider, Web Crawler
- Python Spider, Web Crawler, Bot Examples
- Web Spider
- python-spider
- Python spider
- Spider 之 深入解析 Python 正则表达式
- <spider> 文章保存
- Python写的Web spider(网络爬虫)
- 初试Scrapy(五)—通过下载保存美女图片来学习下Spider中间件(Spider Middlewares)
- python保存图片
- web项目导出word之用blob保存的图片
- python爬取图片之urlretrieve保存本地
- ps之保存图片
- python spider code
- (转)Python-Spider
- python spider code
- python spider 爬虫
- SIP协议应答码
- PAT Advanced Level 1030
- C# Arraylist的sort函数的用法
- the compact org-mode guide 第三章
- Linux修改vimrc配置文件,让vi更贴心
- python web-spider之图片保存
- SIP 探析
- 俄罗斯方块:win32api开发
- mov 和 lea 指令比较
- Web Font 自定义字体
- ACdreamoj(1105)模拟题
- Eclipse中常用快捷键
- 招聘市场调研督导(山西太原)
- Winphone开发之JSON解析