Python+windows任务计划定时抓取必应首页背景图

必应的背景真香

用必应搜索时,一直喜欢它大而美的背景图。早些时候,都是手动鼠标右键另存为;自从无法复制之后,发现通过网页源代码里找到href标签,拼接https://cn.bing.com访问图片真实链接,再右键另存为。
必应网页源码


本着学以致用的原则,最近有在学习Python基础,于是琢磨着自动化实现每天获取背景图。不断丰富着我的桌面背景幻灯片~

Python抓取 必应 背景图

库准备

说明
requests常用的用于http请求的模块
bs4Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库
lxmllxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高

基本原理

  • 使用User-Agent模拟浏览器访问
  • requests.get(图片真实URL).content可获得二进制传输内容,即为图片数据

Step 1 从https://cn.bing.com http get网页源码
Step 2 将网页源码使用BeatifulSoup进行解析
Step 3 从BeautifulSoup中获取‘#bgLink’选择器的内容

import requests
import time
from bs4 import BeautifulSoup

# 全局路径
url = "https://cn.bing.com/"
ImgBaseDir = 'C:/Users/wangxiaodong8/Pictures/Saved Pictures/bing壁纸'

def getBingBackgroundImg():
    """获取bing 网页源中背景图片url.
    Args:
    Returns:
           返回背景图片url
           例如:/th?id=OHR.GalileoMoons_ZH-CN0498325568_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
    Raises:
    """

    htmlContent = requests.get(url)
    # print(htmlContent.text)
    soup = BeautifulSoup(htmlContent.text, 'lxml')
    data = soup.select('#bgLink')

    for item in data:
        bkImgUrl = item.get('href')

    return bkImgUrl


def downloadImg(bkImgUrl):
    """根据url下载必应背景图片

    Args:
        bkImgUrl: 图标url
    Returns:
        返回背景图片url,例如:/th?id=OHR.GalileoMoons_ZH-CN0498325568_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp

    Raises:
    """

    # 拼接真实的url,带User-Agent,并get 图片数据
    bingBKImgUrl = url + bkImgUrl
    agentHeader = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 '
        '(KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
    }
    imgData = requests.get(bingBKImgUrl, headers=agentHeader).content

    # 拼接图片文件名
    strCurTime = time.strftime('%Y%m%d', time.localtime(time.time()))
    imgPath = ImgBaseDir + '/' + 'bpic_%s.jpg' %strCurTime

    # 写入图片到目录
    with open(imgPath, 'wb') as f:
        f.write(imgData)


if __name__ == '__main__':
    bkImgUrl = getBingBackgroundImg()
    downloadImg(bkImgUrl)

Step 4 执行Python脚本

...\Python\Python38\python.exe bingSpider.py

用户目录ImgBaseDir需要修改成自己的目录

Windows定时任务计划设置
  • 打开控制面板 —>搜索管理工具
  • 点击任务计划
    打开任务计划
  • 创建定时调用必应Python脚本任务
    创建计划
    名称
    触发器
    脚本
    效果截图如下:
    结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值