Adakah cara agar saya bisa mendapatkan gambar latar Bing secara terprogram?
API Bing tampaknya tidak menyediakan fungsionalitas seperti itu, mungkin ada cara lain?
Saya pikir cara terbaik adalah meniru cara mereka melakukannya sendiri melalui panggilan AJAX mereka.
Mereka menyebut URL ini dan mengekstrak informasi melalui deserialisasi 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
The mkt
atribut jelas dapat diubah ke daerah yang berbeda dari'en-US', tetapi juga dapat memilih keluar dari sepenuhnya jika Anda tidak peduli tentang wilayah tertentu.
Perhatikan bahwa _1366x768.jpg
sufiks yang ditambahkan ke nama gambar tampaknya dapat diubah menjadi resolusi yang berbeda (seperti _1920x1080.jpg
untuk full HD dan mungkin lainnya).
Berikut adalah dump data pada 9/28/2013, dalam format 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
berfungsi, misalnya,1920x1080
dan lainnya.&mkt=en-US
bagian. Ini meskipun aplikasi saya disetel ke "Inggris-Amerika Serikat".jsonp
, tetapi sepertinya mereka tidak mengizinkannya.FORMAT JSON dari BING IMAGE
Saya menemukan cara untuk mengambil format JSON dari Gambar Bing hari ini
Catatan
n=
No gambar yang Anda inginkan (Anda dapat menggunakan Integers ),mkt=
Lokasi Anda (contoh: en-US )Berikut ini tampilan keluaran JSON
gunakan
url
dariimages[]
dan tambahkan ke
'http://bing.com'
ini url
"url": "\/az\/hprichbg\/rb\/DayGecko_EN-US8730336235_1366x768.jpg"
sumber
Unexpected token :
dihttps://www.bing.com/HPImageArchive.aspx?format=js&idx=8&n=8&mkt=en-US&callback=jQuery111100034959779751375653_1518009655771&_=1518009655772
Microsoft baru-baru ini menerbitkan Bing Dynamic Theme untuk Windows 7, yang berisi RSS Feed dengan tautan ke wallpaper Bing .
Ada juga skrip Python yang mencoba memuat situs web Bing dan menebak URL gambar yang benar, tetapi dari pengalaman saya, biasanya menghasilkan gambar dengan resolusi lebih rendah daripada yang ditawarkan oleh umpan RSS.
sumber
Saya terlambat ke pesta, tetapi jika seseorang membutuhkan implementasi PHP: Saya telah menulis kelas sederhana yang menangani prosedur:
https://github.com/grubersjoe/bing-daily-photo
sumber
One liner PowerShell (3.0 atau lebih tinggi)
irm
adalah alias untukInvoke-RestMethod
sumber
Saya juga suka gambar Bing tetapi aplikasinya terlalu membengkak untuk tujuan mengunduh gambar. Setelah menganalisis koneksi dengan fiddler, saya menulis kode ini. 1920x1200 dilengkapi dengan logo Bing yang disematkan tetapi resolusi yang lebih rendah tidak memilikinya.
Anda dapat memiliki jendela yang menampilkan gambar acak dari folder gambar yang Anda atur, sehingga saat Anda mengunduhnya setiap hari, itu akan menampilkan lebih banyak gambar acak. Jika Anda menyimpan "imageDir", Anda perlu mengubah izin pada folder itu atau akan macet, saya tidak repot-repot menangkap kesalahan. Terakhir, hapus komentar pada baris jika Anda ingin menyetel wallpaper ke gambar hari ini atau Anda dapat membuat tugas untuk menjalankan program, katakan satu menit setelah logon.
sumber
Saya melihat banyak orang yang meminta link RSS baru juga, cukup ubah parameter format di URL menjadi "rss".
RSS : http://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en-US
sumber
JavaScript ini akan menjawab 'apa yang harus dilakukan dengan api' dengan mengubah gambar latar belakang div menjadi latar belakang gambar bing hari ini.
sumber
Jika ada yang mencari kemungkinan implementasi, saya menulis program baris perintah kecil di C # untuk mengunduh, menyimpan, dan menetapkan latar belakang saya sebagai Gambar Bing Hari Ini. Jangan ragu untuk memodifikasinya sesuai kebutuhan pribadi Anda. https://github.com/josueespinosa/BingBackground
sumber
Simple PowerShell, tempatkan ke dalam folder, buat tugas harian di Penjadwal Tugas Windows, skrip menyimpan gambar di folder yang dijalankan, lalu di pengaturan Latar Belakang Desktop pilih folder itu sebagai latar belakang.
sumber
Berikut ini skrip Python sederhana untuk mengambil foto Bing hari itu dengan hanya
requests
danjson
:Ini akan menulis file seperti
TurtleTears_EN-US7942276596_1920x1080.jpg
ke direktori yang sama tempat skrip dijalankan. Tentu saja, dapat mengubah banyak hal di sini, tetapi menyelesaikan pekerjaan dengan cukup mudah.sumber
Izinkan saya memberi tahu Anda cara mendapatkan wallpaper harian bing hari ini menggunakan javascript dan php,
Coba kode js ini:
Script ini menetapkan bing gambar harian hari itu sebagai latar belakang dokumen html Anda (Anda selanjutnya dapat memodifikasinya sesuai penggunaan Anda).
Tautan ini- https://techytricks97.000webhostapp.com mengembalikan wallpaper bing hari ini, setiap hari.
fetch()
mendapatkan url gambar bing hari ini darihttps://techytricks97.000webhostapp.com
dantext=>{document.body.style.background="url('"+text+"')";document.body.style.backgroundSize='cover';}
menyetelnya sebagai latar belakang.catatan: Microsoft tidak mengizinkan untuk menggunakan gambar bing daily sebagai latar belakang situs Anda, Anda dapat menggunakannya sebagai wallpaper ponsel / desktop, atau hal lain dengan menyebutkan hak cipta.
Berikut adalah kode php yang digunakan di http://techytricks97.000webhostapp.com :
Anda
http://techytricks97.000webhostapp.com
hanya dapat menggunakan atau mengatur file php Anda sendiri di server Anda.Catatan lain: Saya tidak hanya menggunakan javascript, karena browser sama-asal-kebijakan membatasinya, tetapi mengambil dari file php saya diperbolehkan seperti yang telah saya masukkan
header('Access-Control-Allow-Origin: *');
kode php saya. Saya bisa saja menggunakan proxy lain tetapi mereka memiliki lalu lintas tinggi (situs saya hampir tidak mendapat klik dalam sehari).Jika Anda menggunakan bahasa lain, Anda hanya perlu membaca file ini ( http://techytricks97.000webhostapp.com )
sumber
Saya mengalami kesulitan mendapatkan RSS feed yang tepat yang dapat saya gunakan dengan John's Background Switcher sampai saya menemukan feed feedburner ini yang tampaknya bekerja cukup baik: http://feeds.feedburner.com/bingimages
sumber
Lihat bing-desktop-wallpaper-changer di Github . Skripnya telah ditulis dalam python dan saya harap Anda menemukan jawaban Anda di sana.
Lihat proyek Github untuk kode rinci
sumber
Saya akhirnya memutuskan untuk menulis skrip dengan Python 3 untuk mendapatkan gambar paling banyak (16) dari arsip xml.
Jadi sekarang saya bisa mengarsipkan gambar dengan mudah. Jalankan saja skrip Python.
Saya mengatur gambar ke dalam folder Tahun / Bulan seperti ini: 2018> 12 Desember> 2018-12-06.jpg
Skrip ini masuk ke folder Bing Wallpapers saya. (yang ada di folder Foto saya)
Kode tambahan opsional untuk memperbarui wallpaper: (letakkan di bawah downloadBingImages (7))
contoh keluaran:
PS skrip di atas digunakan
&mkt=en-NZ
untuk gambar Selandia Baru.Anda dapat melihat kode pasar untuk negara lain di sini .
Anda juga dapat melihat semua gambar yang diarsipkan sejak 2009 untuk berbagai negara di sini .
(hanya dalam 1366x768)
Mayor PS menambahkan skrip ke Penjadwal Tugas untuk dijalankan saat masuk. (atau harian / mingguan)
Buat
Program Tugas Dasar / skrip: python (atau C: \ Python34 \ python.exe jika tidak ada di jalur env Anda)
argumen: "path / to / your / script.py"
start in: "path / to / your"
MEMPERBARUI! (Maret 2019)
Gambar untuk 2019-03-10 diberi tanggal mulai yang salah (20190309) dalam format xml dan rss.
Menggunakan format Json sebagai gantinya. (karena memberikan tanggal yang akurat)
sumber
https://peapix.com/bing/feed
akan mencantumkan gambar Bing terbaru tanpa logo Bing, dikelola oleh peapix.com . Mendukung negara / kawasan berikut: AU, CA, CN, DE, FR, JP, US, GB.misalnya, https://peapix.com/bing/feed?country=jp untuk Jepang dan https://peapix.com/bing/feed?country=us untuk Amerika Serikat.
sumber
Bash one liner (membutuhkan bash, curl dan jq), berguna untuk melakukan cronjob:
sumber
Anda dapat mempertimbangkan untuk mendapatkan file_content dari url tersebut dan mencari file untuk gambar tersebut. Tidak yakin itu cara terbaik, tapi itulah jalannya.
sumber
Menggunakan URL dari @Siv, berikut adalah contoh JavaScript yang diperbarui
<div class="bgimg" id="background">
CSS untuk kelas ini adalah:
sumber
Anda dapat melakukannya menggunakan python dan wget di mesin linux:
Ini mengunduh latar belakang bing harian di direktori lokal dengan nama daily_im.jpg. Anda dapat meletakkan semuanya di script.py dan meluncurkannya secara terprogram.
sumber
EDIT 27/09/2018: http://www.istartedsomething.com/bingimages menanggapi 404 selama berminggu-minggu. Mungkin sudah tidak ada lagi. :-(
Anda dapat menggunakan Arsip Gambar Bing istartedsomething.com . Ini adalah Arsip Gambar Bing tidak resmi. Ini menggunakan titik akhir buatan sendiri yang berguna untuk mengambil gambar:
id
adalah string yang berisi tanggal gambar itu diterbitkan dan negara tempat gambar itu diterbitkan.id
harus memenuhi format berikut:,YYYYMMDD-xx
dimana:YYYY
adalah tahun, ditulis dengan empat digit.MM
adalah bulan yang ditulis dengan dua digit.DD
adalah hari, ditulis dengan dua digit.xx
adalah indikator negara. Arsip Gambar Bing saat ini mendukung negara-negara berikut:au
: Australia.br
: Brazil.ca
: Kanada.cn
: China.de
: Jerman.fr
: Prancis.gb
: Inggris Raya.jp
: Jepang.nz
: Selandia Baru.uk
: Britania Raya.us
: Amerika Serikat.Ini mengembalikan objek JSON yang berguna jika memiliki beberapa informasi atau salah jika tidak mendapatkan apa pun.
Contoh 1: Mengambil gambar harian Bing yang diterbitkan pada tanggal 24 Mei 2014 di Selandia Baru
ID gambar adalah
20140524-nz
karena gambar yang diminta diterbitkan pada 5/24/2014 dan diterbitkan di Selandia Baru, yang indikator negaranya adalahnz
.http://www.istartedsomething.com/bingimages/getimage.php?id=20140524-nz mengembalikan bagian JSON berikut:
Anda dapat menggunakan
imageurl
bidang atau bidangurl
(Bing URL path) untuk mendapatkan gambar Anda.Contoh 2: Mengambil gambar harian Bing yang diterbitkan pada 12 Juli 1998 di Prancis
ID gambar
19980712-fr
karena gambar yang diminta diterbitkan pada 07/12/1998 dan diterbitkan di Prancis, yang indikator negaranya adalahfr
.http://www.istartedsomething.com/bingimages/getimage.php?id=19980712-fr kembali
false
karena tidak ada Bing Daily Image untuk Prancis pada 07/12/1998 (Bing bahkan tidak ada saat ini).sumber
OP tidak menentukan sistem operasi, jadi ini satu untuk digunakan di Linux. Saya memodifikasi dari skrip yang ditawarkan di sini .
Pada dasarnya ini mengambil url gambar hari ini, mengunduh gambar dan menyimpan ke file tetap
~/.config/wallpaper.jpg
, dan menggunakanfeh
untuk mengatur wallpaper. Sekaligus mengirimkan notifikasi.sumber