夜航船夫

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

HumpbackHerring_ZH-CN2868885675_1920x1080

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

这次抽空更新了一下。

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

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- author: uncoverman-*-
# python3抓取bing主页所有背景图片
import urllib.request,json,sys,os
def get_bing_backphoto():
    if (os.path.exists('photos')== False):
        os.mkdir('photos')
    for i in range(0,8):
        jsonurl = 'https://cn.bing.com/HPImageArchive.aspx?format=js&idx='+str(i)+'&n=1'
        jsonstr = urllib.request.urlopen(jsonurl).read().decode('utf-8')
        if jsonstr == 'null':
            print( 'open & read bing error!')
            sys.exit(-1)
        # 将json转化为字典
        imgdict= json.loads(jsonstr)['images'][0]
        # 获取字典中的url,组装下载链接
        url = 'https://cn.bing.com'+imgdict['url']
        # 获取字典中的urlbase,组装文件名
        urlbase = imgdict['urlbase']
        left = urlbase.index('.')
        name = urlbase.replace(urlbase[:left+1],'')+'.jpg'
        savepath = 'photos/'+ name
        # 下载、保存
        urllib.request.urlretrieve(url, savepath)
        print (name + ' save success!')
get_bing_backphoto()

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


2020-02-22 Update:好友建议将正则表达式改为json方式解析,思路清晰,扩展性更好。代码已修改。

版权声明:CC BY-NC-SA 4.0 · © Cola

相关文章

新安江桨板游玩

周末遛娃,去了一趟建德,在新安江上划了桨板,参观了新安江水电站和农夫山泉工厂,吃到了特色美食豆腐包、水晶糕,顺路经过桐庐服务区看水族馆和美人鱼。 周六早上出发,周日晚上到家,两天一夜,全程自驾,行程不赶,满足归来,唯一遗憾是没有看到白沙奇…

吐司面包烘焙

台风天,在家闲来无事,心血来潮想做吐司。起心动念,大概是我关注的一位热爱下厨的大佬 zhuyi 很享受自己做面包,经常在微博上晒面包。 由于是第一次,选了小红书上最简易的 教程。这个教程的好处在于,没有看不懂的术语,也不用 30+ 的步骤,…

天台国清寺一日游

假期下雨,去了趟天台国清寺遛娃兼游览,免费的 5A 级景区,底蕴深厚,且晴雨不论,都可游览。路上借着豆包听了好多故事。 景区入口看到的隋塔,又名报恩塔,是隋炀帝下诏建的,六面九级空心楼阁式砖塔,约 60m 高,是浙江省最高的古塔之一。以前内…

评论