- #!/usr/bin/python
- # coding=utf-8
- #
- # filename: getCNBingBackground.py
- import urllib2
- import ConfigParser
- import re
- """ Change log:
- 1. modify: Tim Wang
- 1.1. 改用urllib2,以支持proxy
- 1.2. 使用ConfigParser将相关信息写入配置文件
- 1.3. 用正则表达式解析url
- """
- cfgparser = ConfigParser.ConfigParser()
- cfgparser.read("config.ini")
- enable_proxy = cfgparser.getboolean("basic", "enable_proxy")
- proxy_setting = dict(cfgparser.items("proxy")) if enable_proxy else {}
- proxy_handler = urllib2.ProxyHandler(proxy_setting)
- opener = urllib2.build_opener(proxy_handler)
- urllib2.install_opener (opener)
- cnbing = dict(cfgparser.items("cnbing"))
- cnbing["patt"] = re.compile(cnbing["regex"])
- def weburls(weburl, patt):
- url = patt.search(urllib2.urlopen(weburl).read())\\
- .groupdict().get("url")
- if not url:
- print "解析标签失败,可能页面格式已经改变!"
- else:
- return url
- def downLoadImage(url):
- if url.startswith("http"):
- picName = url.split("/")[-1]
- print "准备下载:" + url
- with open(picName, "wb") as pic:
- pic.write(urllib2.urlopen(url).read())
- print "保存 " + picName + " 在当前路径下!"
- else:
- print url + " 不是一个正确的图片URL地址!"
- if __name__ == '__main__':
- downLoadImage(weburls(cnbing["url"], cnbing["patt"]))
- #该片段来自于http://www.codesnippet.cn/detail/250920136122.html
来源: http://www.codesnippet.cn/detail/250920136122.html