美文网首页夜航船夫
Python3 下载必应背景图代码更新

Python3 下载必应背景图代码更新

作者: UCM地下工作者 | 来源:发表于2020-02-21 22:40 被阅读0次

    本文首发于个人博客

    几年前写过一篇用 Python 下载每日必应背景图的方法,不过由于必应网站更新,之前的方法失效了。

    这次抽空更新了一下。

    适用的 Python 的版本为 Python3 及以上。

    因为必应官方限制,只能下载最近 8 张图。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # -*- author: uncoverman-*-
    # Python3 抓取 bing 主页所有背景图片
    import urllib.request,re,sys,os
    def get_bing_backphoto():
        if (os.path.exists('photos')== False):
            os.mkdir('photos')
        for i in range(0,8):
            url = 'http://cn.bing.com/HPImageArchive.aspx?format=js&idx='+str(i)+'&n=1&nc=1361089515117&FORM=HYLH1'
            html = urllib.request.urlopen(url).read()
            if html == 'null':
                print( 'open & read bing error!')
                sys.exit(-1)
            html = html.decode('utf-8')
            reg = re.compile('"url":"(.*?)","urlbase"',re.S)
            text = re.findall(reg,html)
            for imgurl in text :
                # http://cn.bing.com/th?id=OHR.CorsicaHeart_ZH-CN2795615037_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
                bingimgurl = 'http://cn.bing.com'+imgurl
                right = imgurl.index('&')
                name = imgurl.replace(imgurl[right:],'')
                left = name.index('.')
                imgname = name.replace(name[:left+1],'')
                savepath = 'photos/'+ imgname
                urllib.request.urlretrieve(bingimgurl, savepath)
                print (imgname + ' save success!')
    get_bing_backphoto()
    

    使用方法:将以上代码复制到后缀为.py的文件,然后运行.py的文件即可。

    相关文章

      网友评论

        本文标题:Python3 下载必应背景图代码更新

        本文链接:https://www.haomeiwen.com/subject/yvxkqhtx.html