apache tika应用程序的python客户端

tika-app的Python项目详细描述


PyPI versionBuild StatusCoverage StatusBCH compliance

蒂卡应用程序python

概述

tika app python是Apache Tika App的包装器。使用此库,您可以分析: 磁盘上的文件-base64中的有效负载-文件对象(类似于标准输入)

要使用文件对象函数,应使用apache tika version>;=1.17。

apache 2开源许可证

Tika应用程序Python可以免费下载、使用和修改。它 在Apache2许可下可用。

作者

主要作者

费德勒·曼图阿诺(twitter: [@fedelemantuano](https://twitter.com/fedelemantuano

安装

克隆存储库

git clone https://github.com/fedelemantuano/tika-app-python.git

并使用setup.py

安装tika app python
cd tika-app-python

python setup.py install

或者使用pip

pip install tika-app

在项目中的使用

导入TikaApp类:

from tikapp import TikaApp

tika_client = TikaApp(file_jar="/opt/tika/tika-app-1.18.jar")

对于get内容类型

tika_client.detect_content_type("your_file")

用于检测语言

tika_client.detect_language("your_file")

用于检测所有元数据和内容

tika_client.extract_all_content("your_file")

仅用于检测内容

tika_client.extract_only_content("your_file")

仅用于检测元数据

tika_client.extract_only_metadata("your_file")

您可以使用相同的方法分析base64中的负载,但是 payload参数:

tika_client.detect_content_type(payload="base64_payload")
tika_client.detect_language(payload="base64_payload")
tika_client.extract_all_content(payload="base64_payload")
tika_client.extract_only_content(payload="base64_payload")
tika_client.extract_only_metadata(payload="base64_payload")

或者可以使用相同的 方法,但传递objectInput参数:

tika_client.detect_language(objectInput="objectInput")
tika_client.extract_all_content(objectInput="objectInput")
tika_client.extract_only_content(objectInput="objectInput")
tika_client.extract_only_metadata(objectInput="objectInput")

从命令行使用

如果使用pipsetup.py安装了tika应用程序python,则可以 与命令行一起使用要使用tika app python,您应该提交 apache tika应用程序jar。可以:-设置环境值 TIKA_APP_JAR-使用--jar开关

最后一个覆盖了所有其他的。

这些都是开关:

usage: tikapp [-h] (-f FILE | -p PAYLOAD | -k) [-j JAR] [-d] [-t] [-l]
                   [-m] [-a] [-v]

Wrapper for Apache Tika App.

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  File to submit (default: None)
  -p PAYLOAD, --payload PAYLOAD
                        Base64 payload to submit (default: None)
  -k, --stdin           Enable parsing from stdin (default: False)
  -j JAR, --jar JAR     Apache Tika app JAR (default: None)
  -d, --detect          Detect document type (default: False)
  -t, --text            Output plain text content (default: False)
  -l, --language        Output only language (default: False)
  -m, --metadata        Output only metadata (default: False)
  -a, --all             Output metadata and content from all embedded files
                        (default: False)
  -v, --version         show program's version number and exit

磁盘上的文件示例:

$ tikapp -f example_file -a

标准输入示例

$ tikapp -a -k < example_file

性能测试

这些是性能测试的结果 tests 文件夹:

(Python 2)
tika_content_type()             0.704840 sec
tika_detect_language()          1.592066 sec
magic_content_type()            0.000215 sec
tika_extract_all_content()      0.816366 sec
tika_extract_only_content()     0.788667 sec

(Python 3)
tika_content_type()             0.698357 sec
tika_detect_language()          1.593452 sec
magic_content_type()            0.000226 sec
tika_extract_all_content()      0.785915 sec
tika_extract_only_content()     0.766517 sec

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

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出