前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Pyhton 实战】---- 批量【端午节】海报下载

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

作者头像
Rattenking
发布2022-06-10 13:46:50
2080
发布2022-06-10 13:46:50
举报
文章被收录于专栏:Rattenking

1. 下载海报的网站选择

以稿定设计网站为例:

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

2. 查看海报列表的API

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

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

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

3. 查看请求参数

点击当前接口,点击payload,就能找到接口的请求参数!

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

4. 查看请求头

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

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

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

代码语言:javascript
复制
import requests,json,time,random,os

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

代码语言:javascript
复制
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. 请求头配置

代码语言:javascript
复制
headers = {
  "content-type": "application/json;charset=UTF-8",
  "x-channel-id": "8"
}

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

代码语言:javascript
复制
"""创建存放海报的文件夹"""
def create_folder(path):
  if not os.path.exists(path):
    os.mkdir(path)

9. 获取海报列表

代码语言:javascript
复制
"""获取海报列表"""
def get_poster_list():
  return requests.post(url, data=json.dumps(data1), headers=headers)

10. 保存海报

代码语言:javascript
复制
"""保存海报"""
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. 下载海报

代码语言:javascript
复制
"""下载海报"""
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. 完整代码

代码语言:javascript
复制
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. 运行预览

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 下载海报的网站选择
  • 2. 查看海报列表的API
  • 3. 查看请求参数
  • 4. 查看请求头
  • 5. 应用需要使用的库引入
  • 6. 获取列表的接口和参数配置
  • 7. 请求头配置
  • 8. 创建存放海报的文件夹
  • 9. 获取海报列表
  • 10. 保存海报
  • 11. 下载海报
  • 12. 完整代码
  • 13. 运行预览
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档