[脚本收集]收集Bing背景图片


本例是用Python Image Library(PIL)的Image模块进行图片处理,并把保存的图片设置成桌面。在此之前,当然还是要用urllib取得网站的response。
PIL 是Python下最有名的影像处理套件,由许多不同的模块所组成,并且提供了许多的处理功能,允许我们在简单的Python程序里进行影像的处理。 使用像 PIL 这样的程序库套件可以帮助我们把精力集中在影像处理的工作本身,避免迷失在底层的算法里面。由于影像处理牵涉到了大量的数学运算,因此PIL中有許多的模块是用 C 语言所写成的,以提升处理的效率。
详细参考请看这里
当我们使用微软的Bing的时候,会发现每天背景图片都是不一样的,但每张都很漂亮。鉴于最近在学习python,就萌生了获取每日Bing图片的想法,代码取自网上,我只是做了分析。
如果想看以前的,到Bing Image Archive来看,如果想下载请使用Bing Downloader

工作步骤:
  1. 取得Bing的response,分析一下Bing主页的源代码,有var g_img={url:'\/fd\/hpk2\/ShuBrocade_ZH-CN760216482.jpg',id:'bgDiv',d:200,cN:'_SS',crN:'bIm',hash:'648'};sc_bgL(),在这里就是需要取得背景图片的地方。因为整个源代码只有这一处,所以可以用index(' 'g_img={url:')的方法去过滤背景图片的地址:content = urllib.urlopen('http://cn.bing.com/').read()
    tempStr = content[content.index('g_img={url:')+12 : len(content)]
    tempStr = tempStr[0 : tempStr.index(',id:')-1]
    tempStr = tempStr.replace('\\', '')
    bgImageUrl = 'http://cn.bing.com'+tempStr
  2. 下载图片的时候,使用urlretrieve(url, filename=None, reporthook=None, data =None)
  3. 使用win32gui.SystemParametersInfo(Action, Param, WinIni)

Code
posted @ 2009-09-08 19:35  小楼  阅读(2998)  评论(0编辑  收藏  举报