中文文本项目api包装器

ctext的Python项目详细描述


ctext是一个简单的Python包装器和CTP API的一组帮助函数,它从Chinese Text Project数据库(一个前现代中国文学的数字图书馆)获取数据为Python3开发;Python2自0.263版起就受支持

发展现状

这个软件目前正在试验中有关API的详细信息,请参见http://ctext.org/tools/api

安装

pip install ctext

用法

文本项由CTP URNs标识。每个URN标识一个文本或文本的一部分您可以通过访问http://ctext.org网站(每一页的右下角)或通过编程使用searchtexts()函数手动获取这些信息。要使用此库,首先:

from ctext import *

一些api函数(例如获取文本的完整结构或下载大量数据)可能需要api密钥。如果有,在调用任何其他函数之前,请执行以下操作:

setapikey("your-api-key-goes-here")

您还可以设置接口语言(“en”表示英语,“zh”表示中文):

setlanguage("zh")

类似地,自动重新映射到简体中文可以使用:

setremap("gb")

获取统计信息

stats = getstats()

围绕getstats API call的简单包装。

获取状态

status = getstatus()

围绕getstatus API call的简单包装。

getTextTitles

titles = gettexttitles()

围绕gettexttitles API call的简单包装

获取能力

capabilities = getcapabilities()

围绕getcapabilities API call的简单包装

gettext

passages = gettext("ctp:analects/xue-er")

围绕gettext API call的简单包装请注意,需要递归调用api get text函数才能获取整本书的全文;python助手函数gettextaspagraphlistgettextasstringgettextasobject重复调用gettext以提取所有相应的文本数据。

gettextaschapterlist

chapters = gettextaschapterlist("ctp:analects")

将请求的urn的全文作为字符串的对象简单列表返回,每个字符串对应一章文本。标题被省略。

gettextasobject

data = gettextasobject("ctp:analects/xue-er")

以对象的形式返回请求的URN的全文,嵌套结构表示每个gettextAPI调用返回的内容

gettextsparagraphlist

passages = gettextasparagraphlist("ctp:analects/xue-er")

以字符串的简单列表形式返回请求的urn的全文,每个字符串对应一段文本。标题被省略

gettextasstring

string = gettextasstring("ctp:analects/xue-er")

将请求的urn的全文作为单个字符串返回。每个段落用“\n\n”分隔

getteverfo

data = gettextinfo("ctp:analects")

围绕gettextinfo API call的简单包装。

搜索文本

data = searchtexts("論語")

围绕searchtexts API call的简单包装。

刚毛
setapikey("your-api-key-goes-here")

这将设置一个api密钥,该密钥随后随所有后续api请求一起提供给ctp api。

设置语言

setlanguage("zh")

这将设置“if”(接口语言)参数,然后将该参数随所有后续api请求一起提供给ctp api。

setremap

setremap("gb")

这将设置“remap”(字符重新映射)参数,然后将该参数随所有后续API请求一起提供给CTP API目前唯一有效的值是“gb”,它返回简体中文数据。

许可证

版权所有2016唐纳德鲟鱼。此代码是在MIT许可下授权的:http://opensource.org/licenses/mit-license.html

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

推荐PyPI第三方库


热门话题
序列化反序列化java。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)