我的第一个Python小工具-CSS背景图片下载

     在学习别人优秀的Web页面设计时,难免会下载下来离线分析人家的代码,可惜每次保存后,CSS文件中的背景图片无法保存到本地,
总不能打开浏览器,每次一个一个另存为吧,如果真有这样做的人,至少说明你比我勤快...
    正好最近Python学的都快"走火入魔"了,拿来小试一下牛刀,自己做一个小工具下载不就完了,说干就干,分析如下:
    1.通过制定的CSS路径,加载CSS文件
    2.解析CSS中的形如:url('xx/xxx.gif')的片段
    3.通过拼接每一个片段 + 网页基地址,算出图片的Url
    4.通过Python urllib库下载图片,存为本地文件
    
原理很简单,对于初学Python的我来说,还是花了两个小时调试通过,见笑了。。当然代码还有很多漏洞和不完善的地方,不碍事,基本达到目的,

自产自销么,代码如下:

 1 import urllib
 2 import re
 3 import os
 4 
 5 def downImage(cssurl,savepath):
 6     # get css file string
 7     css = urllib.urlopen(cssurl).read()
 8     # use re parse css and findall url('images/xxx.gif') 
 9     p = re.compile('\({1}.*?\)', re.IGNORECASE)
10     g = p.findall(css)
11 
12     baseurl = cssurl[:cssurl.rindex("/")] + "/"
13 
14     if not os.path.exists(savepath):
15         os.mkdir(savepath)
16     print g        
17     for item in g:
18         print item
19         path = os.path.join(savepath, item.replace("(","").replace(")",""))
20         data = urllib.urlretrieve(os.path.join(baseurl, item.replace("(","").replace(")","")),path)
21         #data = urllib.urlopen().read()
22         print data

   

 

posted @ 2010-07-06 18:50 追求、品味、境界 阅读(459) 评论(0) 编辑 收藏
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1772355 qXJWpJH1MY4=