自己搭建必應壁紙api服務——墨澀網(wǎng)
必應(Bing)集成了多個獨特功能,包括每日首頁美圖,通過將來自世界各地的高質量圖片設置為首頁背景,美輪美奐的必應美圖備很多人當做壁紙使用,今天我們自己搭建api服務自動獲取每天的必應壁紙美圖,搭建好的api服務可以用來作為網(wǎng)頁背景或者其他服務調(diào)用,非常方便!
本站必應壁紙api服務
https://api.sunweihu.com/bing/bing.php
原理分析
經(jīng)過對必應首頁的抓包,我們可以獲得首頁圖的獲取API。它的格式是這樣的:
http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
這里有幾個GET參數(shù),它們的作用分別是:
- n,必要參數(shù)。這是輸出信息的數(shù)量。比如n=1,即為1條,以此類推,至多輸出8條。
- format,非必要。返回結果的格式,不存在或者等于xml時,輸出為xml格式,等于js時,輸出json格式
- idx,非必要。不存在或者等于0時,輸出當天的圖片,-1為已經(jīng)預備用于明天顯示的信息,1則為昨天的圖片,以此類推,idx最多獲取到前16天的圖片信息
這里將n設定為1、format設定為js、idx設定為1,去發(fā)出GET請求,返回的數(shù)據(jù)是這樣的:
{
"images": [
{
"startdate": "20161222",
"fullstartdate": "201612221600",
"enddate": "20161223",
"url": "/az/hprichbg/rb/TheDomeEdinburgh_ZH-CN11993142817_1920x1080.jpg",
"urlbase": "/az/hprichbg/rb/TheDomeEdinburgh_ZH-CN11993142817",
"copyright": "愛丁堡一家叫做The Dome的夜店,蘇格蘭 (? Marty McKillop/500px)",
"copyrightlink": "http://www.bing.com/search?q=The+Dome,+Edinburgh&form=hpcapt&mkt=zh-cn",
"quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20161222_TheDomeEdinburgh%22&FORM=HPQUIZ",
"wp": false,
"hsh": "376393c9b49c6d8d1a6e7c2d38343105",
"drk": 1,
"top": 1,
"bot": 1,
"hs": []
}
],
"tooltips": {
"loading": "正在加載...",
"previous": "上一個圖像",
"next": "下一個圖像",
"walle": "此圖片不能下載用作壁紙。",
"walls": "下載今日美圖。僅限用作桌面壁紙。"
}
}
其中的“images”節(jié)點下的“url”值便是我們要獲取的圖像地址。我們把它取出來,再加上Bing的網(wǎng)址前綴(http://cn.bing.com)即組合成了完整的圖像地址。比如說上面返回數(shù)據(jù)的完整圖像地址是這樣的:
http://cn.bing.com/az/hprichbg/rb/TheDomeEdinburgh_ZH-CN11993142817_1920x1080.jpg
知道了背景圖的獲取方式,接下來就是用PHP去動態(tài)抓取了。
搭建api服務
你只需新建一個php文件,貼入如下代碼:
<?php $str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1'); // 從bing獲取數(shù)據(jù) if(preg_match('/<url>([^<]+)<\/url>/isU', $str, $matches)) { // 正則匹配抓取圖片url $imgurl = 'http://cn.bing.com'.$matches[1]; } else { // 如果由于某些原因,沒抓取到圖片地址 $imgurl = 'http://img.infinitynewtab.com/InfinityWallpaper/2_14.jpg'; // 使用默認的圖像(默認圖像鏈接可修改為自己的) } header("Location: {$imgurl}"); // 跳轉至目標圖像
然后把這個php文件上傳到你的服務器或者是網(wǎng)站空間,訪問這個php應該就能看到被跳轉到了Bing的圖片。
注意:服務中使用的preg_match指令最高支持php7.2版本,高于php7.2的版本會無法使用。
使用方法:
直接將那個php文件的絕對地址當做圖片放進網(wǎng)頁中即可。你也可以直接調(diào)用本站的必應壁紙api服務使用。
地址:https://api.sunweihu.com/bing/bing.php
php文件下載
版權聲明:本文采用知識共享 署名4.0國際許可協(xié)議BY-NC-SA 進行授權
文章作者:<墨澀>
文章鏈接:
免責聲明:本站為資源分享站,所有資源信息均來自網(wǎng)絡,您必須在下載后的24個小時之內(nèi)從您的電腦中徹底刪除上述內(nèi)容;版權爭議與本站無關,所有資源僅供學習參考研究目的,如果您訪問和下載此文件,表示您同意只將此文件用于參考、學習而非其他用途,否則一切后果請您自行承擔,如果您喜歡該程序,請支持正版軟件,購買注冊,得到更好的正版服務。
本站為非盈利性站點,并不販賣軟件,不存在任何商業(yè)目的及用途,網(wǎng)站會員捐贈是您喜歡本站而產(chǎn)生的贊助支持行為,僅為維持服務器的開支與維護,全憑自愿無任何強求。