当前位置:网站首页>【Pyhton 实战】---- 批量【端午节】海报下载

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

2022-06-09 10:02:00 Rattenking

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项目地址

微信小程序实例列表

前端笔记列表

游戏列表

原网站

版权声明
本文为[Rattenking]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_38082783/article/details/125159527