0%

获取必应首页的壁纸

准备

  1. 安装python3

  2. 安装 requests、lxml库

    1
    2
    pip install requests
    pip install lxml

    编码

  3. 导入模块和设置变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import re
    import os
    import requests
    from lxml import etree
    import io
    import sys


    url = 'https://cn.bing.com/'

    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537."
    "36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
    }
  4. 使用requests库请求必应首页的资源

    1
    response = requests.get(url, headers=headers)
  5. 使用xpath解析出图片的名字与链接

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 使用xpath解析得到数据
    html = etree.HTML(response.text, etree.HTMLParser())
    # 得到图片链接
    image_url = html.xpath("//head//link[@id='bgLink']/@href")[0]
    # 得到一个名字与版权的字符串
    filename = html.xpath("//a[@id='sh_cp']/@title")[0]
    # 使用正则表达式去年版权商
    re_object = re.match('(.*?)\s.*?\\)', filename)
    filename = re_object[1]
    # 因为得到 image_url 是没网址前缀的,所以需要加上
    pic_url = url + image_url
    filename = filename + ".jpg"
  6. 生成一个文件夹放置图片

    1
    2
    3
    4
    5
    # 当前的文件目录
    current_dir = os.getcwd()
    img_dir = current_dir + "\\bing_img"
    if not os.path.exists(img_dir):
    os.makedirs(img_dir)
  7. 保存图片

    1
    2
    3
    4
    5
    read = requests.get(pic_url)
    # 保存图片
    with open(img_dir + '\\{}'.format(filename), 'wb') as fp:
    fp.write(read.content)
    fp.close()

运行

在命令行下运行该文件,会得到一个文件夹,图片就放在里面。

github地址

------------ 感谢你的阅读 ------------