python案例1-爬取优美桌面壁纸

python案例1-爬取优美桌面壁纸

效果

在这里插入图片描述
在这里插入图片描述

代码
import os
import requests


# 壁纸
class Biz(object):
    def __init__(self):
        self.save_folder = "E:/wallpic2/"
        self.totalPages = 0
        self.page = 0
        self.url = "https://infinity-api.infinitynewtab.com/get-wallpaper?page=%d"

    def get_json(self):
        json = requests.get(self.url % self.page).json()
        self.totalPages = json["totalPages"]
        print("拉取第 %d 页, %d 条数据" % (self.page, len(json["data"])))
        return json["data"]

    def download_img(self, file_path, url):
        file_path = os.path.join(self.save_folder, str(self.page), file_path)
        rep = requests.get(url).content
        with open(file_path, "wb") as f:
            f.write(rep)
            print("下载完成,保存到:"+file_path)

    def save_url(self, file_mane, url):
        with open(os.path.join(self.save_folder,file_mane), "a", encoding="utf-8") as f:
            f.write(url + '\n')

    def run(self):
        while self.page <= self.totalPages:
            index = 1
            data = self.get_json()
            self.make_folder(os.path.join(self.save_folder, str(self.page)))
            for i in data:
                url = i["src"]["rawSrc"]
                file_path = i["_id"]+"."+url.split(".")[-1]
                # 保存地址
                self.save_url("url.txt", url)
                # 下载图片
                self.download_img(file_path, url)
                print("开始下载第 %s 页,第 %d 图:%s" % (self.page, index, url))
                index += 1
            self.page += 1

    def make_folder(self, path=None):
        if path is None:
            path = self.save_folder
        if not os.path.exists(path):
            os.makedirs(path)


if __name__ == '__main__':
    biz = Biz()
    biz.run()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值