免费的壁纸api

本文介绍了如何使用Python编程实现对联想官网PCStore中壁纸内容的访问,包括获取顶部横幅、排行榜数据以及壁纸分类信息的API调用方法。
摘要由CSDN通过智能技术生成
# 联想壁纸
from enum import Enum

import requests


class LenovoTopHeadersTypePage(Enum):
    """
    头部页面类型
        wallpaper 精选
        wallpaperHot 热门
        wallpaperRank 排行
    """
    wallpaper = 'wallpaper'
    wallpaperHot = 'wallpaperHot'
    wallpaperRank = 'wallpaperRank'


class LenovoWallpaper:
    base_url = 'https://pc-store.lenovomm.cn'
    wallpaper_url = base_url + '/wallpapercontent/wallpaper'

    def __init__(self):
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36&PCStore',
            # 必须得用这个ua
            'token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcyI6IndpbjEwIiwiY2giOiI5LjAuMTMwMC4wMjAxIiwibXQiOiIxMC4wLjIyNjIxIiwib3NCaXQiOiI2NCIsInNuIjoiMjQ1Nzc5MTFiYjE0NzYzYzBlOWRmMjFkMzUyMzc5OTAzNzM3NjQyNDkxZWYyOThmYzI1NjRkZWY4NWM5MDc5MiIsImV4cCI6MTcxMzAwNDcwMiwidXVpZCI6IjdEN0E3RTVDLTVBQ0UtMTFFRS04REM3LUQ0N0UwMDM3M0YwMCIsIm1hYyI6Ijc0MTNlYTdlOGRiYyJ9.BjW0q5rGDps5aGyWPpU4hyUPS2_iJumajXrx7VrpP6E'
        }

    def get_token(self):
        data = {
            "channelInfo": {
                "businessChannel": "Nil"
            },
            "commonData": {
                "channel": "20005",
                "from": "indstore",
                "mac": "7413ea7e8dbc",
                "mt": "10.0.22621",
                "os": "6.1.50.12061",
                "osBit": "64",
                "pcmStoreVer": "9.0.1200.1220",
                "pcmVer": "6.1.50.12061",
                "preVersion": "",
                "sn": "123108Z0M768120852C",
                "uuid": "7D7A7E5C-5ACE-11EE-8DC7-D47E00373F00",
                "ver": "9.0.1330.201",
                "versionCode": "9.0.1330.201",
                "versionName": "9.0.1330.201"
            },
            "settingInfo": {
                "smbOptions": "1"
            }
        }
        url = self.base_url + '/sysconfigservice/indep/business_parameter'
        response = requests.post(url, headers=self.headers, json=data)
        token = response.json().get('data', {}).get('btoken', None)
        return token

    def banner(self, page_type: LenovoTopHeadersTypePage = LenovoTopHeadersTypePage.wallpaper):
        """
        精选、热门、排行
        顶部横幅内容
        :param page_type:
        :return:
        """
        url = self.wallpaper_url + '/banner/top_banner_content_v2'
        params = {'pageType': page_type.value}
        response = requests.get(url, params=params, headers=self.headers)
        return response

    def rank_more(self, rank_id: int = 2707):
        """
        排行
        :param rank_id:
        :return
        """
        url = self.wallpaper_url + '/rank_more'
        params = {
            'code': rank_id,
            'limit': 48,
            'skip': 48,
            'wallpaperId': ''
        }
        response = requests.get(url, params=params, headers=self.headers)
        return response

    def classes(self):
        """
        壁纸分类接口
        :return:
        """
        url = self.wallpaper_url + '/classes'
        response = requests.get(url, headers=self.headers)
        return response

    def group_content(self, page_type: LenovoTopHeadersTypePage = LenovoTopHeadersTypePage.wallpaper):
        """
        页面内容
        :param page_type:
        :return:
        """
        url = self.wallpaper_url + '/group_content'
        params = {'pageType': page_type.value}
        response = requests.get(url, params=params, headers=self.headers)
        return response

    def class_wallpaper_list(self, skip: int = 0, classId: int = -1, tagId: int = -1, priceId: int = 0):
        """
        根据分类接口获取壁纸信息
        :return:
        """
        # params = {
        #     'skip': str(skip),  # 页码
        #     'limit': str(54),  # 每页?条
        #     'count': str(76873),
        #     'tagId': tagId,
        #     'colorId': str(-1),
        #     'classId': classId,
        #     'refresh': 'true',
        #     'priceId': priceId  # 资费  	 -1 全部, 0 免费, 1 付费
        # }

        url = "https://pc-store.lenovomm.cn/wallpapercontent/wallpaper/class_wallpaper_list"
        params = {
            "skip": f"{skip}",
            "limit": "54",
            "count": "76873",
            "tagId": f"{tagId}",
            "colorId": "-1",
            "classId": f"{classId}",
            "refresh": "true",
            "priceId": f"{priceId}"
        }
        response = requests.get(url, headers=self.headers, params=params)
        return response

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要将API壁纸自动更换为电脑壁纸,首先需要了解API壁纸是如何提供壁纸图片的。 API壁纸通常提供一个接口,可以通过该接口获取到最新的壁纸图片的URL。为了将壁纸自动更换到电脑壁纸,可以编写一个脚本或应用程序,用于定期从API获取最新壁纸的URL,并将该URL所指向的壁纸设置为电脑的壁纸。 在脚本或应用程序中,可以使用编程语言提供的相关库或工具来实现获取API壁纸URL并设置为电脑壁纸的功能。具体的实现方法可能会因编程语言和操作系统的不同而有所差异,以下是一个简单的思路: 1. 创建一个脚本或应用程序。 2. 使用合适的编程语言和库,发起API请求,获取最新壁纸的URL。 3. 下载壁纸图片文件。 4. 根据操作系统,利用系统提供的工具或API,设置壁纸为下载的图片文件。 例如,在Windows系统中,可以使用C#编程语言和.NET框架,通过System.Net.Http命名空间中的HttpClient类发起API请求,获取壁纸URL,并使用System.Drawing命名空间中的方法来下载和设置壁纸。 需要注意的是,为了实现自动更换壁纸,脚本或应用程序需要在后台持续运行,并定期或根据需要执行上述步骤。另外,为避免频繁请求API或下载过大的壁纸文件,可能需要设置适当的策略,如缓存壁纸、限制请求频率等。 总而言之,将API壁纸自动更换到电脑壁纸需要一定的编程知识和对操作系统的了解,但通过合适的编程语言和工具,可以实现这一功能。 ### 回答2: API壁纸自动更换到电脑壁纸是一种功能,可以通过编程接口(API)来实现自动更换计算机桌面壁纸的功能。这种功能的实现需要以下步骤: 首先,需要有一个可靠的API,其可以提供墙纸的信息和下载链接。这个API可以是公开的或者是付费的,开发者可以根据自己的需求选择合适的API。 接下来,开发者需要编写一个程序或脚本来自动获取API提供的壁纸信息。这个程序可以使用编程语言如Python、Java或者其他适合的语言来编写。程序通过API获得壁纸的信息后,可以将其保存到本地服务器或者缓存中。 然后,开发者需要编写另一个程序或脚本,用于将保存在本地的壁纸设置为电脑的桌面壁纸。这可以通过操作系统的API或命令行工具来实现。具体的实现方式会因操作系统而异,例如在Windows系统中可以使用PowerShell或者Registry Editor来修改注册表设置。 最后,开发者可以将两个程序合并,实现壁纸自动获取和设置的功能。通过定时调用自动获取壁纸的程序,然后调用设置桌面壁纸的程序,可以实现定期自动更换电脑壁纸的功能。 总结起来,实现API壁纸自动更换到电脑壁纸的功能需要编写两个程序,一个用于获取API提供的壁纸信息,另一个用于将壁纸设置为电脑的桌面壁纸。通过定时调用这两个程序可以实现定期自动更换电脑壁纸的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值