一个python包装器,用于颜色爱好者api

colourlovers的Python项目详细描述


颜色爱好者API包装

https://img.shields.io/pypi/v/colourlovers.svghttps://img.shields.io/github/issues-pr/juangallostra/colourlovers-api-wrapper.svg?https://img.shields.io/github/issues/juangallostra/colourlovers-api-wrapper.svg?https://img.shields.io/github/contributors/juangallostra/colourlovers-api-wrapper.svg?

api的python包装器 由www.colourlowers.com提供

要求

  • python 3(检查elbaschid的 包装如果 使用python 2)
  • 枕头

如何使用

导入包装器
  1. 通过pip下载包装: PIP安装色彩爱好者 或者,通过键入终端来克隆存储库: git clone https://github.com/juangallostra/colourlovers api wrapper.git

  2. 在克隆 存储库

  3. 包装导入方式:

    >>>fromcolourloversimportclapi>>>cl=clapi.ColourLovers()

查询

一旦我们创建了api包装器对象( cl case)我们已经准备好查询api。注意一个查询,即使它 对于单个对象,总是返回一个列表。颜色爱好者API 查询分为三个层次:

  1. 查询的对象。可能的查询对象是:color/s, 图案、调色板、情人或统计。请注意,大多数对象 可以用复数或单数查询。包装提供了 每个对象的不同方法,都是:

    >>>cl.search_palette()# Query for a single palette>>>cl.search_pattern()# Query for a single pattern>>>cl.search_color()# Query for a single color>>>cl.search_lover()# Query for a single user>>>cl.search_palettes()# Query for multiple palettes>>>cl.search_patterns()# Query for multiple patterns>>>cl.search_colors()# Query for multiple colors>>>cl.search_lovers()# Query for multiple users>>>cl.search_stats()# Query for a single pattern

    这些方法都只接受关键字参数。可选地,a 可以传递第一个布尔位置参数,指定是否 查询的响应应作为原始数据或 python对象。默认情况下,查询的响应将返回为 一个python对象。因此,对api的查询的一般形式是:

    >>>cl.search_patterns(True,kwargs)# Response will be returned as raw data>>>cl.search_patterns(kwargs)# Response will be returned as a Python object

    我们稍后再讨论这个问题。

  2. 查询的类型。这些是一般的,通常不依赖于对象的类型。 但是,并非所有的类型都受所有对象的支持。可能 查询类型和用于为每种对象类型指定它们的关键字是:

    <表> < COLGROUP > < COL/> < COL/> < COL/> 对象 关键字 值 < /广告> <正文> 调色板 请求 新的 顶部 随机的 模式 请求 新的 顶部 随机的 颜色 请求 新的 顶部 随机的 恋人 请求 新的 顶部 调色板 id 有效id为 int str 模式 id 有效id为 int str 颜色 十六进制值 有效的十六进制颜色值为 str 情人 用户名 有效用户名 str 统计 请求 颜色 调色板 图案 情侣 < > <表>

    随机查询类型是互斥的。使用时,没有其他 可以指定参数。有效查询的一些示例如下:

    >>>cl.search_patterns(request='new')>>>cl.search_colors(request='top')>>>cl.search_stats(request='patterns')>>>cl.search_palettes(request='random')>>>cl.search_pattern(id=1145)>>>cl.search_lover(username='whatever')>>>cl.search_color(hexvalue='C6C5AC')
  3. 特定于对象的查询参数。这取决于 查询和也被指定为关键字参数。看看哪些是 每个对象支持的参数都遵循到 下表中的官方API页。请注意 查询多个对象或 单个对象。

    <表> < COLGROUP > < COL/> < COL/> <广告> 对象 支持的类型 < /广告> <正文> 调色板 参数 模式 参数 颜色/s 参数 情人 参数 统计 参数 < > <表>

    有效查询的示例如下:

    >>>cl.search_palettes(request='top',keywords='river',numResults=15)>>>cl.search_lovers(request='new',orderCol='numVotes')

    注意,这些参数是区分大小写的,其中一些参数 需要预定义的值。这些边缘案例都列在 官方API文档

响应数据

查询中的数据可以以三种不同的格式返回:xml、json或as 一个python对象。

要获取XML格式的数据,必须有第一个位置参数( 原始数据 ) 设置为 。这是因为默认的原始数据响应格式是XML。

< Buff行情>
>>>resp=cl.search_palette(True,id=2323)>>>resp'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<palettes numResults="1" totalResults="4567661">\n\t<palette>\n\t\t<id>2323</id>\n\t\t<title><![CDATA[On the lake]]></title>\n\t\t<userName><![CDATA[viatora]]></userName>\n\t\t<numViews>529</numViews>\n\t\t<numVotes>12</numVotes>\n\t\t<numComments>3</numComments>\n\t\t<numHearts>0</numHearts>\n\t\t<rank>0</rank>\n\t\t<dateCreated>2005-08-24 10:44:11</dateCreated>\n\t\t<colors>\n\t\t\t<hex>E6F0F7</hex>\n\t\t\t<hex>97A4B2</hex>\n\t\t\t<hex>5F0609</hex>\n\t\t\t<hex>766F59</hex>\n\t\t\t<hex>989383</hex>\n\t\t</colors>\n\t\t<description><![CDATA[I-MOO\r\n<div style="width: 300px; text-align: center;"><a href="http://www.colourlovers.com/contests/moo/minicard/2291466" target="_blank" style="display: block; margin-bottom: 5px; width: 300px; height: 120px; -moz-box-shadow: 0 1px 4px #d1d1d1; -webkit-box-shadow: 0 1px 4px #d1d1d1; box-shadow: 0 1px 4px #d1d1d1; filter: progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=180, Color=]]></description>\n\t\t<url><![CDATA[http://www.colourlovers.com/palette/2323/On_the_lake]]></url>\n\t\t<imageUrl><![CDATA[http://www.colourlovers.com/paletteImg/E6F0F7/97A4B2/5F0609/766F59/989383/On_the_lake.png]]></imageUrl>\n\t\t<badgeUrl><![CDATA[http://www.colourlovers.com/images/badges/p/2/2323_On_the_lake.png]]></badgeUrl>\n\t\t<apiUrl>http://www.colourlovers.com/api/palette/2323</apiUrl>\n\t</palette>\n</palettes>'

要获取json格式的数据,需要指定返回响应 作为原始数据,通过将第一个位置参数设置为 true ,有必要包括 查询中的另一个关键字参数,指定响应的格式应为 json( 格式='json' )。

< Buff行情>
>>>resp=cl.search_palette(True,id=2323,format='json')>>>resp'[{"id":2323,"title":"On the lake","userName":"viatora","numViews":529,"numVotes":12,"numComments":3,"numHearts":0,"rank":0,"dateCreated":"2005-08-24 10:44:11","colors":["E6F0F7","97A4B2","5F0609","766F59","989383"],"description":"I-MOO\\r\\n<div style=\\"width:300px;text-align:center;\\"><a href=\\"http:\\/\\/www.colourlovers.com\\/contests\\/moo\\/minicard\\/2291466\\" target=\\"_blank\\" style=\\"display:block;margin-bottom:5px;width:300px;height:120px;-moz-box-shadow:01px4px#d1d1d1; -webkit-box-shadow: 0 1px 4px #d1d1d1; box-shadow: 0 1px 4px #d1d1d1; filter: progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=180, Color=","url":"http:\\/\\/www.colourlovers.com\\/palette\\/2323\\/On_the_lake","imageUrl":"http:\\/\\/www.colourlovers.com\\/paletteImg\\/E6F0F7\\/97A4B2\\/5F0609\\/766F59\\/989383\\/On_the_lake.png","badgeUrl":"http:\\/\\/www.colourlovers.com\\/images\\/badges\\/p\\/2\\/2323_On_the_lake.png","apiUrl":"http:\\/\\/www.colourlovers.com\\/api\\/palette\\/2323"}]'

最后,如果参数raw data未设置或设置为 false ,则将获得数据 作为一个python对象(这是推荐的方法)。如果查询的响应包含超过 一个对象(例如,在查询选项板时),则响应中的每个对象都是 映射到python对象。最后,当响应数据作为python对象获得时 由于方法之间的一致性原因,即使响应包含 单个对象。

< Buff行情>
>>>resp=cl.search_palette(id=2323)>>>resp[<colourlovers.data_containers.Paletteobjectat0x7fc64a87f0f0>]>>>resp=cl.search_palettes(request='top',keywords='river')>>>resp[<colourlovers.data_containers.Paletteobjectat0x7fc64a569ef0>,<colourlovers.data_containers.Paletteobjectat0x7fc64a569f28>,<colourlovers.data_containers.Paletteobjectat0x7fc64a569f60>,<colourlovers.data_containers.Paletteobjectat0x7fc64a569f98>,<colourlovers.data_containers.Paletteobjectat0x7fc64a569fd0>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562048>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562080>,<colourlovers.data_containers.Paletteobjectat0x7fc64a5620b8>,<colourlovers.data_containers.Paletteobjectat0x7fc64a5620f0>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562128>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562160>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562198>,<colourlovers.data_containers.Paletteobjectat0x7fc64a5621d0>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562208>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562240>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562278>,<colourlovers.data_containers.Paletteobjectat0x7fc64a5622b0>,<colourlovers.data_containers.Paletteobjectat0x7fc64a5622e8>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562320>,<colourlovers.data_containers.Paletteobjectat0x7fc64a562358>]

每个对象(lover、palette、pattern、color、stats)都提供一个属性,名为pep8 样式指南-适用于每个T他在场回答。请参阅 API官方文档 查看每个对象的字段(示例结果部分)。例如:

< Buff行情>
>>>p=cl.search_pattern(id=2323)>>>p[<colourlovers.data_containers.Patternobjectat0x7fcf64ae4a20>]>>>vars(p[0]){'id':2323,'title':'inspiration','username':'daisyjean911','num_views':328,'num_votes':0,'num_comments':0,'num_hearts':0,'rank':0,'date_created':'2007-12-10 12:19:14','description':'<a href="http://www.colourlovers.com/palette/2285499/Nestled" target="_blank"><img src="http://www.colourlovers.com/images/badges/pw/2285/2285499_Nestled.png" style="width: 240px; height: 120px; border: 0 none;" alt="Nestled" /></a>\r\n<div style="width: 300px; text-align: center;"><a href="http://www.colourlovers.com/contests/moo/minicard/2285499" target="_blank" style="display: block; margin-bottom: 5px; width: 300px; height: 120px; -moz-box-shadow: 0 1px 4px #d1d1d1; -webkit-box-shadow: 0 1px 4px #d1d1d1; box-shadow: 0 1px 4px #d1d1d1; filter: progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=180, Color=','url':'http://www.colourlovers.com/pattern/2323/inspiration','image_url':'http://colourlovers.com.s3.amazonaws.com/images/patterns/2/2323.png','badge_url':'http://www.colourlovers.com/images/badges/n/2/2323_inspiration.png','api_url':'http://www.colourlovers.com/api/pattern/2323','colors':['97BEC9','AB2B91','76A379','ABD66B'],'rgb_colors':[(151,190,201),(171,43,145),(118,163,121),(171,214,107)],'num_colors':4}>>>pattern=p[0]>>>pattern.username'daisyjean911'>>>pattern.colors['97BEC9','AB2B91','76A379','ABD66B']>>>pattern.num_views328>>>pattern.id2323

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajooqmaven和多模式   java通过web控制台向wildfly添加数据源   java Kafka 2.9.1 producer 0.8.2.1编译与运行时依赖关系   可滚动的java SWT拆分窗格   java有ArraySet和ArrayMap这样的东西吗?   java Spring jdbc调用函数   java将绝对布局合并为标准布局   java如何正确地从Firebase中提取数据?   java计划以可变时间间隔运行任务   java关闭JFrame=>程序崩溃   java Junit测试,其中一些参数不同,另一些参数保持不变   java servletname在<servlet>和<servletmapping>中可以不同吗?   java有很多活动,好吗   java静态变量把一切都搞砸了   java Ashley ECS迭代系统未处理实体族