Есть ли способ получить фоновое изображение Bing программно?
API Bing, похоже, не обеспечивает такой функциональности, возможно, есть другой способ?
Я думаю, что лучший способ - имитировать то, как они это делают сами, с помощью вызовов AJAX.
Они вызывают этот URL-адрес и извлекают информацию посредством десериализации XML.
XML: http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US
JSON: http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US
RSS: http://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en-US
mkt
Атрибут , очевидно , может быть изменен на другую область , чем'en-US', но также может быть выбран из полностью , если вы не заботитесь о конкретном регионе.
Обратите внимание, что _1366x768.jpg
суффикс, добавляемый к именам изображений, может быть изменен для разных разрешений (например, _1920x1080.jpg
для Full HD и, возможно, других).
Вот дамп данных по состоянию на 28.09.2013 в формате XML.
<?xml version="1.0" encoding="utf-8"?>
<images>
<image>
<startdate>20130928</startdate>
<fullstartdate>201309280000</fullstartdate>
<enddate>20130929</enddate>
<url>/az/hprichbg/rb/LakeTurkana_EN-US15976511099_1366x768.jpg</url>
<urlBase>/az/hprichbg/rb/LakeTurkana_EN-US15976511099</urlBase>
<copyright>Lava rock pools at the southern end of Lake Turkana, in Kenya (© Nigel Pavitt/Corbis)</copyright>
<copyrightlink>http://www.bing.com/search?q=Lake+Turkana%2C+Kenya&form=hpcapt</copyrightlink>
<drk>1</drk>
<top>1</top>
<bot>1</bot>
<hotspots>
<hotspot>
<desc>These are the southern reaches of a lake...</desc>
<link>http://www.bing.com/maps/?v=2&cp=2.794725~37.335197&lvl=7&dir=0&sty=b&q=Lake%20Turkana%2C%20Kenya&form=hphot1</link>
<query>That stretches for 180 miles, up into another country</query>
<LocX>15</LocX>
<LocY>33</LocY>
</hotspot>
<hotspot>
<desc>This body of water was once called the Jade Sea.</desc>
<link>http://www.bing.com/search?q=green+algae&form=hphot2</link>
<query>What gives the water here its sometimes vibrant hue?</query>
<LocX>37</LocX>
<LocY>42</LocY>
</hotspot>
<hotspot>
<desc>One of the world's most powerful predators lives here.</desc>
<link>http://www.bing.com/videos/search?q=Underwater+Croc+Cams+National+Geographic&FORM=hphot3#view=detail&mid=D25E1909D3514A8732C5D25E1909D3514A8732C5</link>
<query>See some rare underwater footage of the beast</query>
<LocX>66</LocX>
<LocY>33</LocY>
</hotspot>
<hotspot>
<desc>Many fossils of ancient human ancestors have been uncovered in the surrounding area.</desc>
<link>http://www.bing.com/search?q=Turkana+Boy&form=hphot4</link>
<query>One skeleton was so complete, paleoanthropologists gave him a name</query>
<LocX>82</LocX>
<LocY>41</LocY>
</hotspot>
</hotspots>
<messages></messages>
</image>
<tooltips>
<loadMessage>
<message>Indlæser...</message>
</loadMessage>
<previousImage>
<text>Forrige</text>
</previousImage>
<nextImage>
<text>Næste</text>
</nextImage>
<play>
<text>Afspil</text>
</play>
<pause>
<text>Pause</text>
</pause>
</tooltips>
</images>
_1920x1200
, т.е. так же1920x1080
и другие.&mkt=en-US
части. Это даже при том, что у меня приложение настроено на «Английский - США».jsonp
, но не похоже, что они позволяют это.ФОРМАТ JSON ИЗОБРАЖЕНИЯ BING
Я нашел способ , чтобы принести формат JSON в Bing Image дня
Заметка
n=
Количество изображений, которые вы хотите (вы можете использовать целые числа ),mkt=
ваше местоположение (пример: en-US )Вот результат JSON выглядит как
использовать
url
изimages[]
и добавить его в
'http://bing.com'
здесь URL
"url": "\/az\/hprichbg\/rb\/DayGecko_EN-US8730336235_1366x768.jpg"
источник
Unexpected token :
вhttps://www.bing.com/HPImageArchive.aspx?format=js&idx=8&n=8&mkt=en-US&callback=jQuery111100034959779751375653_1518009655771&_=1518009655772
Microsoft недавно опубликовала динамическую тему Bing для Windows 7, которая содержит RSS-канал со ссылками на обои Bing .
Существует также сценарий Python, который пытается загрузить веб-сайт Bing и угадать правильный URL-адрес изображения, но, по моему опыту, это обычно приводит к изображению с более низким разрешением, чем те, которые предлагает RSS-канал.
источник
Я опаздываю на вечеринку, но на случай, если кому-то понадобится реализация PHP: я написал простой класс, который обрабатывает процедуру:
https://github.com/grubersjoe/bing-daily-photo
источник
One liner PowerShell (3.0 или выше)
irm
это псевдоним дляInvoke-RestMethod
источник
Мне тоже нравятся изображения Bing, но их приложение слишком раздуто для загрузки изображений. Проанализировав связь со скрипачом, я написал этот код. 1920x1200 поставляется со встроенным логотипом Bing, но в более низких разрешениях его нет.
Вы можете настроить окна для отображения случайных изображений из заданной вами папки изображений, чтобы при их ежедневной загрузке вы получали больше случайных изображений. Если вы сохраните «imageDir», вам необходимо изменить права доступа к этой папке, иначе произойдет сбой, я не стал беспокоиться об обнаружении ошибок. Наконец, не комментируйте строки, если вы хотите установить обои на сегодняшнее изображение, или вы можете создать задачу для запуска программы, скажем, через минуту после входа в систему.
источник
Я видел, что многие люди также просят новую ссылку RSS, просто измените параметр формата в URL-адресе на «rss».
RSS : http://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en-US
источник
Этот JavaScript ответит на вопрос «что делать с api», заменив фоновое изображение div на фон изображения bing текущего дня.
источник
На случай, если кто-то ищет возможные реализации, я написал небольшую программу командной строки на C #, чтобы загрузить, сохранить и установить свой фон в качестве изображения дня Bing. Не стесняйтесь изменять его в соответствии со своими потребностями. https://github.com/josueespinosa/BingBackground
источник
Простая оболочка PowerShell, поместите в папку, создайте ежедневную задачу в планировщике задач Windows, сценарий сохраняет изображения в своей папке запуска, а затем в настройках фона рабочего стола выберите эту папку в качестве фона.
источник
Вот простой скрипт Python для получения фотографии дня в Bing, используя только
requests
иjson
:Это запишет файл, например, в
TurtleTears_EN-US7942276596_1920x1080.jpg
тот же каталог, где выполняется сценарий. Конечно, здесь можно настроить множество вещей, но справляется со своей работой довольно легко.источник
Позвольте мне рассказать вам, как получить ежедневные обои дня bing с помощью javascript и php,
Попробуйте этот код js:
Этот скрипт устанавливает ежедневное изображение дня в bing в качестве фона вашего html-документа (вы можете дополнительно изменить его в соответствии с вашими потребностями).
Эта ссылка - https://techytricks97.000webhostapp.com каждый день возвращает обои дня Bing.
fetch()
получает URL-адрес сегодняшнего изображения Binghttps://techytricks97.000webhostapp.com
иtext=>{document.body.style.background="url('"+text+"')";document.body.style.backgroundSize='cover';}
устанавливает его в качестве фона.Примечание. Microsoft не позволяет использовать изображения bing daily в качестве фона вашего сайта, вы можете использовать их в качестве обоев телефона / рабочего стола или для других целей с упоминанием авторских прав.
Вот код php, который используется на http://techytricks97.000webhostapp.com :
Вы можете использовать
http://techytricks97.000webhostapp.com
только или можете настроить свой собственный файл php на своем сервере.Еще одно замечание: я не использовал только javascript, потому что политика одинакового происхождения в браузере ограничивает его, но выборка из моего файла php разрешена, поскольку я вставил
header('Access-Control-Allow-Origin: *');
свой код php. Я мог бы использовать другие прокси, но у них высокий трафик (мой сайт почти не получает кликов в день).Если вы используете другой язык, вам просто нужно прочитать этот файл ( http://techytricks97.000webhostapp.com )
источник
У меня были проблемы с получением правильного RSS-канала, который я мог бы использовать с John's Background Switcher, пока я не нашел этот канал feedburner, который, похоже, работает довольно хорошо: http://feeds.feedburner.com/bingimages
источник
Взгляните на bing-desktop-wallpaper-changer на Github . Скрипт написан на Python, и я надеюсь, что вы найдете там свой ответ.
Взгляните на проект Github для получения подробного кода
источник
Я наконец-то решил написать сценарий на Python 3, чтобы получить как можно больше изображений (16) из xml-архива.
Так что теперь я могу архивировать изображения без каких-либо усилий. Просто запустите скрипт Python.
Я упорядочиваю изображения по папкам «Год / Месяц» следующим образом: 2018> 12 декабря> 2018-12-06.jpg
Этот сценарий находится в моей папке Bing Wallpapers. (который находится в моей папке изображений)
Необязательный дополнительный код для обновления обоев: (поместите под downloadBingImages (7))
пример вывода:
PS приведенный выше сценарий используется
&mkt=en-NZ
для изображений Новой Зеландии.Вы можете проверить рыночный код для других стран здесь .
Вы также можете увидеть все изображения архивируются с 2009 года для разных стран здесь .
(правда, только в разрешении 1366x768)
Major PS добавляет сценарий в планировщик заданий для запуска при входе в систему. (или ежедневно / еженедельно)
Создать базовую задачу
Программа / скрипт: python (или C: \ Python34 \ python.exe, если его нет в вашем пути env)
аргументы: «путь / к / вашему / script.py»
начать с: «путь / к / вашему»
ОБНОВИТЬ! (Март 2019 г.)
Для изображения за 2019-03-10 была указана неправильная дата начала (20190309) как в формате xml, так и в формате rss.
Вместо этого используется формат Json. (поскольку он дает точную дату)
источник
https://peapix.com/bing/feed
будет перечислять последнее изображение Bing без логотипа Bing, поддерживаемое peapix.com . Поддерживаются следующие страны / регионы: AU, CA, CN, DE, FR, JP, US, GB.например, https://peapix.com/bing/feed?country=jp для Японии и https://peapix.com/bing/feed?country=us для США.
источник
Bash one liner (требуется bash, curl и jq), полезный для вставки cronjob:
источник
Вы можете подумать о том, чтобы получить file_content этого URL-адреса и выполнить поиск в файле изображения. Не уверен, что это лучший способ, но это способ.
источник
Используя URL-адрес из @Siv, вот пример JavaScript, который обновляет
<div class="bgimg" id="background">
CSS для этого класса:
источник
Вы можете сделать это с помощью python и wget на Linux-машине:
Он загружает ежедневный фон Bing в локальный каталог под именем daily_im.jpg. Вы можете поместить все в script.py и запустить его программно.
источник
РЕДАКТИРОВАТЬ 27.09.2018: http://www.istartedsomething.com/bingimages отвечает 404 в течение нескольких недель. Возможно, его больше не существует. :-(
Вы можете использовать архив изображений Bing на istartedsomething.com . Это неофициальный архив изображений Bing. Он использует самодельную конечную точку, которая полезна для получения изображений:
id
- строка, содержащая дату публикации изображения и страну, в которой оно было опубликовано.id
должен соответствовать следующему формату:,YYYYMMDD-xx
где:YYYY
год, записанный четырьмя цифрами.MM
это месяц, записанный двумя цифрами.DD
день, записанный двумя цифрами.xx
индикатор страны. Bing Image Archive в настоящее время поддерживает следующие страны:au
: Австралия.br
: Бразилия.ca
: Канада.cn
: Китай.de
: Deutschland.fr
: Франция.gb
: Великобритания.jp
: Япония.nz
: Новая Зеландия.uk
: Объединенное Королевство.us
: Соединенные Штаты Америки.Он возвращает полезный объект JSON, если в нем есть некоторая информация, или false, если у него ничего нет.
Пример 1. Получение ежедневного изображения Bing, опубликованного 24 мая 2014 г. в Новой Зеландии.
Идентификатор изображения
20140524-nz
связан с тем, что требуемое изображение было опубликовано 24.05.2014, и оно было опубликовано в Новой Зеландии, индикатор страны которойnz
.http://www.istartedsomething.com/bingimages/getimage.php?id=20140524-nz возвращает следующий фрагмент JSON:
Вы можете использовать
imageurl
поле или полеurl
(Путь к URL-адресу Bing), чтобы получить изображение.Пример 2: получение ежедневного изображения Bing, опубликованного 12 июля 1998 г. во Франции.
Идентификатор изображения связан с
19980712-fr
тем, что требуемое изображение было опубликовано 12.07.1998, и оно было опубликовано во Франции, индикатор страны которойfr
.http://www.istartedsomething.com/bingimages/getimage.php?id=19980712-fr возвращается,
false
потому что нет изображения Bing Daily Image для Франции от 12.07.1998 (Bing в то время даже не существовал).источник
OP не указывает операционную систему, поэтому вот она для использования в Linux. Я модифицировал предложенный здесь сценарий .
В основном он получает URL-адрес изображения дня, загружает изображение и сохраняет его в фиксированный файл
~/.config/wallpaper.jpg
и используетfeh
для установки обоев. Одновременно отправляет уведомление.источник