首页 > Tinynote > 必应 bing.com 背景图下载

必应 bing.com 背景图下载

2017年4月6日 发表评论 阅读评论

必应有一个 API 可以获取背景图的信息:

http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

其中,idx 为向后的天数,idx<=10.  n 为获取信息的条数,n<10.

返回json格式的数据:

{
    "images": [
        {
            "startdate": "20170405",
            "fullstartdate": "201704051600",
            "enddate": "20170406",
            "url": "/az/hprichbg/rb/FreshSalt_ZH-CN12818759319_1920x1080.jpg",
            "urlbase": "/az/hprichbg/rb/FreshSalt_ZH-CN12818759319",
            "copyright": "淡水和盐水在埃斯塔蒂特附近的三河河口交汇,西班牙 (© Yann Arthus-Bertrand/Getty Images)",
            "copyrightlink": "http://www.bing.com/search?q=L'Estartit&form=hpcapt&mkt=zh-cn",
            "quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20170405_FreshSalt%22&FORM=HPQUIZ",
            "wp": true,
            "hsh": "800425f6986718006147107f1e622f39",
            "drk": 1,
            "top": 1,
            "bot": 1,
            "hs": []
        }
    ],
    "tooltips": {
        "loading": "正在加载...",
        "previous": "上一个图像",
        "next": "下一个图像",
        "walle": "此图片不能下载用作壁纸。",
        "walls": "下载今日美图。仅限用作桌面壁纸。"
    }
}

有这些信息,就可以每天抓取bing的背景图了

附 Python 脚本:

# -*- coding:utf-8 -*-
import requests
from datetime import *
from bs4 import BeautifulSoup
import os
import sys 
import re
import json


def loadImg(url,headers,cookies):
    r = requests.get(url=url,headers = headers, cookies=cookies)
    if not r:
        return
    js = json.loads(r.text.encode('UTF-8'))
    imgurl = js["images"][0]['url']
    imgurl = 'http://www.bing.com/' + imgurl;

    print imgurl
    pos = imgurl.rfind('/')
    imgname = imgurl[pos+1:len(imgurl)]
    imgPath = lcdir + "/" + str(date.today()) + "_" + imgname
    r = requests.get(imgurl,headers=headers)
    with open(imgPath, 'wb')  as f:
        for chunk in r.iter_content(1024):
            f.write(chunk)
        f.close()

if  __name__ == '__main__':
    url = r'http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=1361089515117&FORM=HYLH1'    
    lcdir = "/home/user/bing_img"

    if os.path.exists(lcdir) == False:
        os.mkdir(lcdir)

    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) \
    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
    'Accept-Encoding':'gzip, deflate, sdch'}    
    cookies=dict(ENSEARCH='BENVER=0')
    loadImg(url,headers,cookies)

 

附:Win10锁屏壁纸

锁屏壁纸可能会保存在以下两个地方:

%user%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
C:\Windows\Web\Screen

其中 Assets 下的文件比较杂,且都是没有后缀名的。可以将Assets文件复制出来,并重命令:

ren * *.jpg

即可找出锁屏壁纸

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.