从Python中的ColorHunt.co获取调色板

时间:2018-06-14 10:21:55

标签: python

我正在为Blender创建一个Color Addon而我正在尝试从着名网站中检索调色板。我想从ColorHunt开始。基本上你可以在网站上看到很多调色板。我想在一个包含该调色板中颜色的十六进制值的数组中得到所有可用的调色板,例如:(" FF0000"," ab1234"," cd337H& #34;," ff0066")等等。 这可能吗?

1 个答案:

答案 0 :(得分:0)

是的,至少在今天是可能的。
但是,如果您要构建要在商店中发布的应用程序,请不要使用此方法,因为我们要从中获取调色板的端点可能会发生更改,恕不另行通知。

故事

所以,我一直在寻找一种方法来获取那些美妙的调色板,经过与 Postman 的几次尝试后,我发现 Gal Shir(或任何构建网站的人)使用 POST 方法获取调色板列表。

长话短说,您可以创建一个 POST 请求来获取这些调色板。

基本上,有 4 种类型的请求:随机、新的、流行的和流行的。
请求的参数如下:

  • 标题 Content-Type 是 application/x-www-form-urlencoded; charset=UTF-8
  • 端点是 https://colorhunt.co/php/feed.php
  • 请求正文为 {'step': 0, 'sort': 'random','tags': ''}

我已经告诉过您,有 4 种类型的请求,因此您可以将 sort 键从 random 更改为其他任何类型。

您将得到以下类型的响应,由您来解析它: [{"code":"febfb3e1396c96d38cd0f9b1","likes":"1682","date":"4 years"},{"code":"2d4059ea5455f07b3fffd460","likes":"10191","date":"5 years"},...]

为了简单起见,以第一个代码为例febfb3e1396c96d38cd0f9b1
您会看到一个图案,它是单个调色板的 4 个十六进制颜色代码的系列:febfb3 | e1396c | 96d38c | d0f9b1

警告!

我警告您只能将这种方法用于“娱乐”目的 (>.<) 因为它不是官方 API,而且我不知道 Gal Shir 是否会构建一个(他说过一次)或他不想。事实上,端点可能会再次改变。仅供参考,上个月我可以从 https://colorhunt.co/hunt.php 端点获取调色板,但响应完全不同。

祝大家编码愉快!