凯观生活 发表于 2024-1-1 18:12

必应(Bing)网站每日一图下载工具Python源码

本帖最后由 凯观生活 于 2024-1-2 02:06 编辑

下面为源码,可以打包成exe文件使用。

# -*- coding: utf-8 -*-
import os
import tkinter as tk
import urllib.request
from tkinter import messagebox

import requests


def download_bing_images():
    # Bing 每日一图的 URL
    url = 'https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=8&mkt=zh-CN'
    response = requests.get(url)
    data = response.json()

    # 创建一个文件夹来保存图片
    if not os.path.exists('bing_images'):
      os.makedirs('bing_images')

    # 遍历每日一图的数据并下载图片
    for image_data in data['images']:
      image_name = image_data['hsh']
      image_url = f'https://cn.bing.com{image_data["url"]}'

      try:
            # 下载图片
            with urllib.request.urlopen(image_url) as response:
                image_data = response.read()
                with open(f'bing_images/{image_name}.jpg', 'wb') as f:
                  f.write(image_data)

            print(f'图片 {image_name}.jpg 已成功下载!')
            progress_label.config(text=f'图片 {image_name}.jpg 已成功下载!')
      except Exception as e:
            print(f'下载失败:{str(e)}')
            progress_label.config(text=f'下载失败:{str(e)}')

def on_button_click():
    try:
      # 清除之前的下载进度信息
      progress_label.config(text='')

      # 下载 Bing 每日一图
      download_bing_images()

      # 显示下载完成提示
      progress_label.config(text='所有图片已下载完成!\n请查看当前目录对应的“bing_images”文件夹')
    except Exception as e:
      messagebox.showerror('错误', f'下载失败:\n{str(e)}')

# 创建主窗口
root = tk.Tk()
root.title('Bing 每日一图下载器')
root.geometry('400x300')# 设置窗口大小

# 创建按钮
button = tk.Button(root, text='下载 Bing 每日一图', command=on_button_click)
button.pack(padx=20, pady=20)

# 创建标签用于显示下载进度和结果
progress_label = tk.Label(root, text='')
progress_label.pack(padx=20, pady=20)

# 运行主循环
root.mainloop()

本文章(以下简称“文章”)旨在促进技术交流和学习。这些文章仅代表作者个人观点,不代表任何公司、组织或个人。

在阅读、下载、复制、传播或以其他方式使用文章内容时,请注意以下几点:

合法用途:文章仅可用于技术交流、学习和个人非商业目的。您不得以任何方式将文章内容用于违反法律、法规、道德准则或其他不合规的用途。

文章准确性和完整性:文章中的信息可能会有所疏漏或不完整。您需自行承担使用文章中的信息所带来的风险,并在适用的情况下寻求专业建议。作者和本博客/网站对文章中的错误或不足之处不承担任何责任。

衍生作品:如需基于文章创作衍生作品,请事先获得作者的书面许可,并确保遵循相关许可条款。

担保和声明:作者和本博客/网站明确否认对文章的适用性、充分性、准确性、可靠性或完整性作出任何明示或默示的担保和声明。

如您违反上述条款,作者和本博客/网站保留随时终止您使用文章、追究法律责任并要求赔偿损失的权利。

凯观生活 发表于 2024-1-4 18:55

https://cloud.189.cn/web/share?code=aAJNvu63qEjq(访问码:q9ie)
可以通过这里进行下载打包好的资源

kexing 发表于 2024-1-2 09:03

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=8&mkt=zh-CN
可以调整 idx 获取历史图片

jianken 发表于 2024-1-1 20:49

必应的每日一图有什么特殊之处么?

yy710 发表于 2024-1-1 20:58

感谢楼主分享。。。

QQ1476 发表于 2024-1-1 21:14

wallhaven被qiang后的替代选择,感谢楼主

阿菊不在 发表于 2024-1-1 22:38

拿来干啥的

凯观生活 发表于 2024-1-2 02:03

jianken 发表于 2024-1-1 20:49
必应的每日一图有什么特殊之处么?

就是下载图片,可以用来做非商用素材!

凯观生活 发表于 2024-1-2 02:04

阿菊不在 发表于 2024-1-1 22:38
拿来干啥的

下载bing的图片,就必应搜索页面的。

yu520 发表于 2024-1-2 08:21

这个怎么使用呀

Wapj_Wolf 发表于 2024-1-2 08:23

下图第二,学习PY第一。

happyxuexi 发表于 2024-1-2 08:41

可以下载多少天的?
页: [1] 2 3
查看完整版本: 必应(Bing)网站每日一图下载工具Python源码