Coder Social home page Coder Social logo

xiachufang-api's Introduction

下厨房 API

下厨房官方并没有放出 API,本着自己动手丰衣足食的理念,配合 Toapi 快速实现了一个 API.

目前实现的接口有搜索分页列表分类详细内容 5 个部分。

Overview

本项目是基于新生的开源项目 Toapi 快速实现的产物, 由于该项目处于刚起步状态,很多特性都处于非稳定状态,随时会发生变更(如路由 route 匹配规则就在本项目诞生的时候发生了变更),所以不建议在生产环境中使用。 项目已经发布正式版,可以放心使用。

Usage

克隆项目或直接下载项目源码到本地

git clone https://github.com/ruter/xiachufang-api.git

安装依赖

cd xiachufang-api/
pip install -r requirements.txt

运行项目

python wsgi.py

访问 http://your_server_ip:5000

Cache

Toapi 本身提供了 3 种缓存机制:

  • MemoryCache - 服务重启后已缓存的数据都会销毁
  • RedisCache - 需安装并启动 Redis
  • MemcachedCache - 需安装并启动 Memcached

默认使用的是 MemoryCache,可以自己手动更改配置使用其他另外两种缓存方式。

为了方便使用,本项目已经在 settings.py 中默认配置了 MemoryCacheRedisCache,并且默认使用 MemoryCache.

若要使用 RedisCache 缓存,需要先修改 app.py 中的配置,并确保在运行该项目之前 Redis 的服务已经启动,以下是参考步骤

app.py

# 全局替换 MemCacheSettings 为 RedisCacheSettings
# 共有两处需要修改,修改后如下

from settings import RedisCacheSettings

api = Api(URL, settings=RedisCacheSettings)

settings.py

# 找到 class RedisCacheSettings(Settings)
# 检查 'cache_config' 里的配置和当前环境使用的 Redis 配置是否一致
# 这里使用的是默认配置

'cache_config': {
    'host': '127.0.0.1',
    'port': 6379,
    'db': 0
}

Example

可请求的 URI 有 4 个:

  • /search/<keyword>
  • /category/
  • /category/<no>//category/<no>/?page=<page>
  • /recipe/<no>/

搜索菜谱

GET /search/鸡蛋

{
    "Page": [
        {
            "next": "/category/394/?page=2"
        }
    ],
    "Recipe": [
        {
            "cover": "http://s2.cdn.xiachufang.com/84c059f68aa211e6b87c0242ac110003_1536w_2048h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "虎皮蛋(爱吃卤鸡蛋的不容不过~)",
            "url": "/recipe/101772749/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/59f01d9a877011e6b87c0242ac110003_2622w_2064h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "蒸鸡蛋",
            "url": "/recipe/1052846/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/49fdcc782dc611e7947d0242ac110002_1488w_1984h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "卤鸡蛋",
            "url": "/recipe/102275135/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/c35432e086f711e6b87c0242ac110003_480w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "葱花鸡蛋饼",
            "url": "/recipe/45007/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/a79c5420896c11e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋饼",
            "url": "/recipe/100553539/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/e0edf7e4876c11e6a9a10242ac110002_2448w_3264h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋汤面",
            "url": "/recipe/1050858/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/07145394876511e6a9a10242ac110002_500w_667h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "尖椒鸡蛋",
            "url": "/recipe/1047057/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/45bd2aa6882f11e6b87c0242ac110003_640w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "正宗糖醋鸡蛋",
            "url": "/recipe/100133845/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/8d9f4042898911e6a9a10242ac110002_1280w_1280h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋米饭饼",
            "url": "/recipe/100564118/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/5a8ace493fda4d658883ffbc92f3e911_2304w_1536h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋小饼干",
            "url": "/recipe/102216617/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/289c5b70882c11e6a9a10242ac110002_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋葱油饼",
            "url": "/recipe/100128338/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/a319b8bc8ac411e6a9a10242ac110002_1880w_1879h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "简单易学牛奶鸡蛋布丁",
            "url": "/recipe/101791580/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/fc88b1be86f011e6b87c0242ac110003_500w_633h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋土豆饼",
            "url": "/recipe/15758/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/e98ea8f05edd11e7bc9d0242ac110002_3024w_4032h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "虎皮鸡蛋",
            "url": "/recipe/102329470/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/fb63737a88f611e6b87c0242ac110003_750w_728h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "快手啤酒卤鸡蛋",
            "url": "/recipe/100475480/"
        },
        {
            "cover": "http://s1.cdn.xiachufang.com/c3f53dc8878011e6a9a10242ac110002_3088w_2056h.jpg@2o_50sh_1pr_1l_215w_136h_1c_1e_90q_1wh",
            "name": "剁椒鸡蛋",
            "url": "/recipe/1067968/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/99e123f888e811e6a9a10242ac110002_638w_638h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "鸡蛋芝士烤吐司",
            "url": "/recipe/100462057/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/9622c1568b8911e6a9a10242ac110002_1920w_1080h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "土豆丝鸡蛋饼",
            "url": "/recipe/101877531/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/2eb6a4ba899f11e6a9a10242ac110002_640w_640h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "西红柿鸡蛋",
            "url": "/recipe/100573951/"
        },
        {
            "cover": "http://s2.cdn.xiachufang.com/6bcc1b0288da11e6b87c0242ac110003_650w_650h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90",
            "name": "火腿肠葱花鸡蛋饼",
            "url": "/recipe/100448277/"
        }
    ]
}

获取详细菜谱

GET /recipe/101829462/

{
    "Content": [
        {
            "cover": "http://s2.cdn.xiachufang.com/d0cb97448b8c11e6a9a10242ac110002_1614w_1080h.jpg?imageView2/2/w/660/interlace/1/q/90",
            "grade": "8.5",
            "materials": [
                {
                    "name": "猪前蹄",
                    "unit": "一只"
                },
                {
                    "name": "冰糖",
                    "unit": "一块"
                },
                {
                    "name": "桂皮",
                    "unit": "二片"
                },
                {
                    "name": "八角",
                    "unit": "二个"
                },
                {
                    "name": "香叶",
                    "unit": "二片"
                },
                {
                    "name": "",
                    "unit": "一小块"
                },
                {
                    "name": "",
                    "unit": "适量"
                },
                {
                    "name": "",
                    "unit": "适量"
                },
                {
                    "name": "生抽",
                    "unit": "适量"
                },
                {
                    "name": "白胡椒粉",
                    "unit": "适量"
                },
                {
                    "name": "豆腐乳",
                    "unit": "一块"
                },
                {
                    "name": "陈醋",
                    "unit": "一小勺"
                },
                {
                    "name": "啤酒.料酒或白酒",
                    "unit": "适量"
                },
                {
                    "name": "鸡精(可不放)",
                    "unit": "适量"
                }
            ],
            "name": "红烧猪蹄",
            "steps": [
                {
                    "desc": "猪蹄.让卖的师傅给处理干净.剁好..\n自己家是没办法剁的...\n\n猪蹄放入冷水锅中煮..\n煮开后.继续煮5分钟以上..\n然后捞出来..清洗干净备用!",
                    "img": "http://s1.cdn.xiachufang.com/d9c834a28dfc11e6a9a10242ac110002_1080w_1616h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 1
                },
                {
                    "desc": "锅里放油..冰糖放入.\n\n如果是整块的.\n小火加热一会儿.锅铲拍一下.\n冰糖会全部碎.",
                    "img": "http://s2.cdn.xiachufang.com/0aabdbe08b8d11e6a9a10242ac110002_1616w_1080h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 2
                },
                {
                    "desc": "小火.锅铲搅动.\n出现图片里的泡后.\n糖色就是炒好了..\n\n早了颜色不好看.\n晚了...会糊!!\n\n就好比女人..\n太年轻的木有味道.\n太老了.....\n\n一切.要刚刚好..",
                    "img": "http://s1.cdn.xiachufang.com/edfe036a8b8c11e6a9a10242ac110002_1616w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 3
                },
                {
                    "desc": "放入猪蹄翻炒.翻炒上色..",
                    "img": "http://s2.cdn.xiachufang.com/d96c03d08dfc11e6b87c0242ac110003_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 4
                },
                {
                    "desc": "放入八角.桂皮.香叶.姜片....继续翻炒!",
                    "img": "http://s1.cdn.xiachufang.com/d8ed4e468dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 5
                },
                {
                    "desc": "炒出香味...\n\n不要怀疑自己的嗅觉或我的菜谱.\n不要凑锅里去闻香味出来木有.\n有可能..伱家抽油烟机风力太大..",
                    "img": "http://s1.cdn.xiachufang.com/d85363308dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 6
                },
                {
                    "desc": "放白胡椒粉.生抽..陈醋.",
                    "img": "http://s2.cdn.xiachufang.com/d7d9cbba8dfc11e6a9a10242ac110002_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 7
                },
                {
                    "desc": "半瓶啤酒或二勺料酒.或一勺白酒...",
                    "img": "http://s2.cdn.xiachufang.com/d74b14748dfc11e6a9a10242ac110002_2048w_1536h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 8
                },
                {
                    "desc": "然后再加开水..倒入高压锅.\n上汽之后.\n改中小火压5分钟.\n愛吃特别烂的.可以多几分钟.\n\n反正....我又不吃!",
                    "img": "http://s2.cdn.xiachufang.com/d6d12aec8dfc11e6b87c0242ac110003_1536w_2048h.jpg?imageView2/2/w/300/interlace/1/q/90",
                    "step": 9
                },
                {
                    "desc": "倒回锅里.加一块豆腐乳.捣碎..\n中小火焖煮!\n\n啥?没看见豆腐乳?\n喔..我家木有了.\n没放...=_=..",
                    "img": "http://s1.cdn.xiachufang.com/d55c85628dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 10
                },
                {
                    "desc": "汤汁收至剩一半时.\n放盐..大火收汁.\n\n成品颜色好看不好看.\n就看这一步了!",
                    "img": "http://s1.cdn.xiachufang.com/d4d5d13e8dfc11e6a9a10242ac110002_1536w_2048h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 11
                },
                {
                    "desc": "收干汁后...放一点鸡精.不放也行..",
                    "img": "http://s1.cdn.xiachufang.com/20a2d8868b8d11e6a9a10242ac110002_1614w_1080h.jpg@2o_50sh_1pr_1l_300w_90q_1wh",
                    "step": 12
                }
            ],
            "tip": "吃辣的话..后面丢几个小米椒.好好吃.不用高压锅或木有的.就在锅里直接加开水.尽量多加一些.烧开后.转小火慢炖.炖烂就行!但是后期一定要大火收汁!也可以放黄豆啥的.当然..催乳有良效.-_-#.."
        }
    ]
}

xiachufang-api's People

Contributors

dependabot[bot] avatar hankshz avatar ruter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

xiachufang-api's Issues

菜谱详情接口报错

调用/recipe/104216487/ 访问菜谱详情时发生异常,报错如下:'list' object has no attribute 'strip'

python-devel

少了一句
sudo yum install python-devel
一直提示缺少Python.h

获取菜单报错

出错Url:http://www.xiachufang.com/category/40076/
错误信息:[Parsed ] FAIL Item<Recipe[0]>
备注:个人觉得是 category.py的问题,原因也是应该页面DOM页面修改了。但是改了两个小时都没有效果。想知道问题所在,谢谢大神回复。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.