【Pyhton 实战】---- 批量【端午节】海报下载

1. 下载海报的网站选择

以稿定设计网站为例:
在这里插入图片描述

2. 查看海报列表的API

网页 —> 鼠标右键 —> 检查 【点击network,查看页面请求】

在这里插入图片描述

找到数据加载的api的方法,将页面下滑到底部,点击第二页,查找加载列表的接口,此网站的接口是【https://www.gaoding.com/api/v3/cp/template-centers/v2/recommend-templates】

3. 查看请求参数

点击当前接口,点击payload,就能找到接口的请求参数!
在这里插入图片描述

4. 查看请求头

点击当前接口,点击headers,就能找到接口的请求头!

在这里插入图片描述

5. 应用需要使用的库引入

import requests,json,time,random,os

6. 获取列表的接口和参数配置

url = 'https://www.gaoding.com/api/v3/cp/template-centers/v2/recommend-templates'
data = {
  "page_num": 1,
  "page_size": 50,
  "styles": [],
  "colors": [],
  "filter_nodes": [
    {
      "type": 1,
      "id": 4834126,
      "children": [
        {
          "id": 4834127,
          "type": 2,
          "children": [
            {
              "agg_filter_id": 4834127,
              "value": "1000002024"
            }
          ]
        },
        {
          "id": 4834128,
          "type": 1
        }
      ]
    }
  ]
}

7. 请求头配置

headers = {
  "content-type": "application/json;charset=UTF-8",
  "x-channel-id": "8"
}

8. 创建存放海报的文件夹

"""创建存放海报的文件夹"""
def create_folder(path):
  if not os.path.exists(path):
    os.mkdir(path)

9. 获取海报列表

"""获取海报列表"""
def get_poster_list():
  return requests.post(url, data=json.dumps(data1), headers=headers)

10. 保存海报

"""保存海报"""
def save_poster(url):
  request = requests.get(url)
  with open(f'./images/{int(round(time.time() * 1000))}-{random.randint(100,1000)}-poster.png', 'wb') as img:
    img.write(request.content)

11. 下载海报

"""下载海报"""
def download_poster():
  create_folder('./images')
  res = get_poster_list()
  for item in json.loads(res.text):
    save_poster(item.get("preview").get("url"))

12. 完整代码

import requests,json,time,random,os

url = 'https://www.gaoding.com/api/v3/cp/template-centers/v2/recommend-templates'
data = {
  "page_num": 1,
  "page_size": 500,
  "styles": [],
  "colors": [],
  "filter_nodes": [
    {
      "type": 1,
      "id": 4834126,
      "children": [
        {
          "id": 4834127,
          "type": 2,
          "children": [
            {
              "agg_filter_id": 4834127,
              "value": "1000002024"
            }
          ]
        },
        {
          "id": 4834128,
          "type": 1
        }
      ]
    }
  ]
}
headers = {
  "content-type": "application/json;charset=UTF-8",
  "x-channel-id": "8"
}

"""创建存放海报的文件夹"""
def create_folder(path):
  if not os.path.exists(path):
    os.mkdir(path)

"""获取海报列表"""
def get_poster_list():
  return requests.post(url, data=json.dumps(data), headers=headers)

"""保存海报"""
def save_poster(url):
  request = requests.get(url)
  with open(f'./images/{int(round(time.time() * 1000))}-{random.randint(100,1000)}-poster.png', 'wb') as img:
    img.write(request.content)

"""下载海报"""
def download_poster():
  create_folder('./images')
  res = get_poster_list()
  for item in json.loads(res.text):
    save_poster(item.get("preview").get("url"))

if __name__ == "__main__":
  download_poster()

13. 运行预览

在这里插入图片描述

WXRUI体验二维码

WXRUI体验码

下载

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rattenking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值