美文网首页
Python定时获取必应首页壁纸,并进行高斯模糊

Python定时获取必应首页壁纸,并进行高斯模糊

作者: KwokKwok | 来源:发表于2018-08-02 17:14 被阅读46次

    喜欢Bing壁纸,考虑把它设置到自己一个插件的背景,但想从一个固定的地址获取图片。
    就打算用写一个脚本定时获取Bing首页图片,写到自己网站目录下的固定地址。
    后来发现图片用作背景时加上虚化有时候会好一点,就又添加了虚化部分。
    以下为记录。

    代码用到的第三方模块为Pillow-5.1.0 + requests-2.18.4,在Python 2.7 + CentOS 7.2Python 3.6 + Win10环境下均正确工作。

    流程:

    1. 写脚本获取Bing首页图片并保存到本地
      1. 获取Bing首页图片网址
      2. 下载图片,保存原图
      3. 处理图片,做高斯模糊后保存虚化版本
    2. 服务器定时执行脚本
      1. crontab定时任务

    正文

    脚本部分

    import requests
    import re
    from PIL import Image, ImageFilter
    
    
    def fetch_today_image_url():
        """
        获取每日图片的地址
        """
        response = requests.get(
            "https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1").text  # 请求官方接口
        # 匹配出/az......jpg,既图片网址
        partial_url = re.match(r'.*(/az.*\.jpg)', response).group(1)
        return "https://cn.bing.com" + partial_url
    
    
    def download_image(url, path):
        """
        通过requests库将图片下载到本地
        """
        ir = requests.get(url)
        if (ir.status_code == 200):
            open(path, "wb").write(ir.content)
    
    
    def create_blur_image(path, redius=20):
        """
        将图片进行高斯模糊后修改后缀另行保存
        """
        origin = Image.open(path)
        treated = origin.filter(ImageFilter.GaussianBlur(redius))
        img_path_blur = path.replace(".jpg", "_blur.jpg")
        treated.save(img_path_blur)
    
    
    if (__name__ == "__main__"):
        img_url = fetch_today_image_url()
        img_path = r"C:/users/kwokg/Desktop/bing.jpg"  # 设置图片保存路径
        download_image(img_url, img_path)
        create_blur_image(img_path)
    

    服务器执行部分

    使用crontab -e编辑定时任务配置文件,在末尾添加下边的内容(每小时执行一次指定路径下的脚本):

    * */1 * * * python /opt/script/bing_today.py &
    

    另外,一些命令

    1. pip使用清华源,(~/.pip/pip.conf文件,没有自己创建即可
      [global]
      index-url = https://pypi.tuna.tsinghua.edu.cn/simple
      
      [install]
      trusted-host=pypi.tuna.tsinghua.edu.cn
      

    相关文章

      网友评论

          本文标题:Python定时获取必应首页壁纸,并进行高斯模糊

          本文链接:https://www.haomeiwen.com/subject/whesvftx.html