百度首页 | 百度空间
 
查看文章
 
写了个自动把National Geographic的photo of the day下下来当桌面的东东....
2008-01-31 16:45
额,懒了...jpg转成bmp是用的irfanview...应该能够自动支持800*600到1280*1024的桌面...  

import urllib
import re
import ctypes
import os
import socket
socket.setdefaulttimeout(5.0)


def get_resolution():
    from win32api import GetSystemMetrics
    return [GetSystemMetrics(0), GetSystemMetrics(1)]

def get_pod_address():
    basesite = r'http://photography.nationalgeographic.com'
    url = basesite + r'/photography/photo-of-the-day'
    while 1:
        try:
            c = urllib.urlopen(url).read()
            break
        except:
            continue
    r = re.compile(r'<a class=\"wallpaper\" href=\"(?P<url>[^\"]*)\">Wallpaper</a>', re.IGNORECASE|re.MULTILINE)
    m = r.search(c)
    print basesite + m.group('url')
    while 1:
        try:
            c = urllib.urlopen(basesite + m.group('url')).read()
            break
        except:
            continue
    resolution = get_resolution()
    r = re.compile(r'a href=\"(?P<url>[^\"]*)\">'
                   + str(resolution[0]) + ' x '
                   + str(resolution[1]), re.IGNORECASE|re.MULTILINE)
    m = r.search(c)
    print basesite + m.group('url')
    return basesite + m.group('url')
   
   



def main():
    url = get_pod_address()
    filename = os.path.basename(url)
    f = open('photo\\' + filename, 'wb')
    while 1:
        try:
            c = urllib.urlopen(url).read()
            break
        except:
            continue
    f.write(c)
    f.close()
    os.system('i_view32 "' + os.getcwd() + '\\photo\\' + filename + '" /convert=tmp.bmp')
    SPI_SETDESKWALLPAPER = 20
    ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, os.getcwd() + r'\photo\tmp.bmp' , 1)


if __name__ == '__main__':
    main()

类别:Python | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008-03-02 22:56
貌似一下没看懂
 
2
2008-03-05 12:46
@futeng24 啊???
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu