博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Toapi - 再也不愁没有数据!
阅读量:5879 次
发布时间:2019-06-19

本文共 2081 字,大约阅读时间需要 6 分钟。

Toapi - 再也不愁没有数据!

Github:

进入Toapi

你是否有这样的需求,有一个很好的idea,却没有很好的数据来源,好不容易找到相关数据来源的网站,却发现没有API(或许有但需要收费),那么,我可以告诉你, 为此提供了很好的解决方案 ,它可以:

它的最后效果

// http://127.0.0.1:5000/pic/?q=coffee{    "Pixabay": [        {            "img": "https://cdn.pixabay.com/photo/2017/06/21/05/28/coffee-2426110__340.png"        },        {            "img": "/static/img/blank.gif"        }    ],    "Pexels": [        {            "img": "https://images.pexels.com/photos/302899/pexels-photo-302899.jpeg?h=350&auto=compress&cs=tinysrgb"        },        {            "img": "https://images.pexels.com/photos/34085/pexels-photo.jpg?h=350&auto=compress&cs=tinysrgb"        }    ]}复制代码
  • 短暂的开发周期:很少量代码就可以将某个网站构建成你自己的API服务
  • 稳健的服务支持:你只需快速地构建以及使用,其它方面就安心地交给
    • 自动对数据缓存,提供MemoryCache RedisCache MemcachedCache三种缓存方案
    • html源文件本地持久化,提供本地以及数据库支持
    • 增量更新
    • 自定义路由
    • 自定义多站组合API
  • 多样的模板选择:每一个 服务都可以被其它使用者安装,或许你无需编写代码,就可以安装其它服务,随即组合成自己的服务,官方维护了一个模板列表 -

是一个用Python编写的开源项目,若你有特殊的功能需求,可以自己定制,我们为你提供完整的生态:

  • 项目地址:
  • 组织地址(欢迎加入):
  • 文档地址:

使用Toapi

让我们看下面这个简单的例子 - 仅仅是演示 目标网站是:

from toapi import XPath, Item, Api, Settingsclass MySettings(Settings):    web = {        "with_ajax": True,        "request_config": {},        "headers": None    }api = Api('https://news.ycombinator.com', settings=MySettings)class Post(Item):    url = XPath('//a[@class="storylink"]/@href')    title = XPath('//a[@class="storylink"]/text()')    class Meta:        source = XPath('//tr[@class="athing"]')        route = {
'/news?p=:page': '/news?p=:page'}class Page(Item): next_page = XPath('//a[@class="morelink"]/@href') class Meta: source = None route = {
'/news?p=:page': '/news?p=:page'} def clean_next_page(self, next_page): return "http://127.0.0.1:5000/" + next_pageapi.register(Page)api.register(Post)api.serve()# Visit http://127.0.0.1:5000/news?p=1复制代码

不到四十行代码,你已经拥有了的API服务,介绍下目前官方提供的模板:

  • : 百度, Bing, 谷歌, 搜狗等的聚合API
  • : One应用的API
  • : IT电子书资源API
  • : Instagram的API
  • : 高清图片网站集合API
  • …...

最后

不会停止进步,从简陋的第一版到现在基本功能完善的版本,一个月来我们有近400次commits,其中辛苦不必多说。

我们诚恳地希望开发者们使用 来构建服务,并提出你的宝贵意见,上手 是一件极其简单的事情,我们希望看到 能为开源社区带来一点贡献,能为你减少构建API的麻烦。

Toapi开发团队(, , )

转载地址:http://ofcix.baihongyu.com/

你可能感兴趣的文章
Java通过join方法来暂停当前线程
查看>>
源码分析——Action代理类的工作
查看>>
spring 在service中需要抛出异常才能自动回滚
查看>>
人脸数据库大全(包括人脸识别、关键点检测、表情识别,人脸姿态等等)
查看>>
iOS UITableView表视图滚动隐藏UINavigationController导航栏
查看>>
SDL如何嵌入到QT中?!
查看>>
$(document).ready()
查看>>
RunLoop总结:RunLoop的应用场景(四)
查看>>
8个很实用的在线工具来提高你的Web设计和开发能力
查看>>
P1026 统计单词个数
查看>>
AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe...
查看>>
Python RGB 和HSV颜色相互转换
查看>>
mybatis分页练手
查看>>
.net数据库连接字符串加密
查看>>
[js高手之路] html5 canvas系列教程 - 状态详解(save与restore)
查看>>
文件监控
查看>>
poi excel 常用api
查看>>
AD提高动态的方法(附SNR计算)
查看>>
[转]轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统
查看>>
五 数组
查看>>