当前位置: 首页 > 知识库问答 >
问题:

Tika解析器python与Docker给出RuntimeError:详细信息:无法启动Tika服务器

公西苗宣
2023-03-14

没有Docker,脚本可以使用Tika解析pdf文件。

但是,当我尝试使用Docker时…我得到以下错误,因为tika服务器没有运行:通过阅读,我尝试了以下错误-但是错误仍然存在。

能帮点忙吗?

我在最后附加了Dockerfile并列出了正在运行的docker容器-

>

  • Docker拉Apache/Tika
  • Docker run-d-p 9998:9998 Apache/Tika
  • cat Dockerfile(末尾有清单)
  • Docker build-t docker_parser.
  • docker运行docker_parser

    docker PS-A

    
        CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                    NAMES
    
        8ff9fd3d0a84        docker_parser       "python ./scripts/..."   2 days ago          Exited (0) 4 minutes ago                            adoring_mestorf
    
        fdf132926c61        apache/tika         "/bin/sh -c 'java ..."   2 days ago          Up 6 minutes               0.0.0.0:9998->9998/tcp   optimistic_ride
    
    
        FROM python:3
    
        RUN pip3 install --upgrade pip requests
        RUN pip3 install python-docx tika numpy pandas
    
        RUN mkdir scripts
        RUN mkdir pdfs
        RUN mkdir output
    
        ADD runner.py /scripts/
        ADD header_parser.py /scripts/
        ADD keyword_parser.py /scripts/
    
        ADD *.pdf /pdfs/
    
        CMD [ "python", "./scripts/runner.py" ]
    

    8.代码中的错误:sentence_parser糟糕!错误类型:已发生。详细信息:无法启动Tika服务器。错误类型:第156行

  • 共有1个答案

    高明辉
    2023-03-14

    看起来您没有指定容器之间的链接,所以tika-python无法连接到端口9998。您可以在docker_parser容器中添加Java,并让它承载Tika服务器,否则您将需要链接容器。

    如果要使用这两个映像,可以在运行时使用Docker CLI上的--link选项,或者构建一个网络(Docker network create)并将两个容器连接在一起(Docker network connect)。我通常使用docker-compose来使这类事情变得更容易,并在那里指定链接。

     类似资料:
    • 我正在尝试使用tika包来解析文件。Tika已成功安装,使用cmd中的代码运行 我在Jupyter中的代码是: 然而,我收到以下错误: 2018-07-25 10:20:13,325[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 10:20:18,329[MainThread][WARNI]无法看到启动日志消息;正在重试...2018-07-25 1

    • 我想知道是否有任何方法使用Tika/Python只解析第一页或从第一页提取元数据?现在,当我传递pdf时,它正在解析每一个页面。我查看了这个链接:使用Apache Tika可以按页面提取Word/PDF文件的文本吗?但是,这个链接在java中解释得更多,我对java并不熟悉。我希望能有一个python解决方案?谢了!

    • tika-python A Python port of the Apache Tikalibrary that makes Tika available using theTika REST Server. This makes Apache Tika available as a Python library,installable via Setuptools, Pip and Easy I

    • 谁能告诉我怎样才能得到Apache Tika Mp3解析器?我有一个Gradle应用程序正在运行,并添加了以下依赖项: 可以使用org.apache.tika.parsers包。 org.apache.tika.parsers.mp3包不可用。 我必须在哪里查找以确定我需要的.mp3包的依赖项?

    • 学习如何在Java编程中使用Tika。 以下是示例 - 如何使用java从PDF中提取内容。 如何使用java从ODF中提取内容。 如何使用java从Excel工作表中提取内容。 如何使用java从文本文档中提取内容。 如何使用java从XML文档中提取内容。 如何使用java从HTML文档中提取内容。 如何使用java从java .class文件中提取内容。

    • 它们确实支持基于扩展和基于名称的内省来确定mime类型,但这是不可靠的,因为我总是可以将一个文件命名为*.one,而且它会将mime类型抛出为'application/oneNote',这是不正确的。 任何可用库上的指针,可以很容易地检测给定文件是onenote类型还是我在Tika中遗漏了什么?