我正在使用Tika,我意识到每次下载jar文件并将其放置在Temp文件夹中
Retrieving http://search.maven.org/remotecontent?filepath=org/apache/tika/tika-server/1.19/tika-server-1.19.jar to C:\Users\asus\AppData\Local\Temp\tika-server.jar.
Retrieving http://search.maven.org/remotecontent?filepath=org/apache/tika/tika-server/1.19/tika-server-1.19.jar.md5 to C:\Users\asus\AppData\Local\Temp\tika-server.jar.md5.
问题在于jar文件大小约为60MB,这需要一些时间才能下载。
这是我正在使用的代码:
from tika import parser
def get_pdf_text(path):
parsed = parser.from_file(path):
return parsed['content']
我发现的唯一解决方法是:
1-使用java -jar tika-server-x.x.jar --port xxxx
2-使用tika.TikaClientOnly = True
3-用parser.from_file(path)
代替parser.from_file(path, '/path/to/server')
但是我不想手动运行jar文件。如果我可以使用Python自动运行jar文件并使用它设置tika而不重新下载,那就更好了。
答案 0 :(得分:0)
要解决此问题,您应该将环境变量添加到tika服务器jar中,并指定包含tika jar文件的路径文件夹。
TIKA_SERVER_JAR ='PATH_OF_FOLDER_CONTAINING_TIKA_SERVER_JAR'。
答案 1 :(得分:0)
在尝试了几乎所有方法并调试 tika.py 库代码后,我发现您必须设置这两个变量才能使此 hack 工作。
TIKA_SERVER_JAR="/path_to_tika_server/tika-server.jar"
TIKA_SERVER_JAR="/path_to_tika_server"
您还需要提供 .md5 签名文件,因为由于 Tika 1.18 版未提供 .md5 文件(改为提供 sha512 签名,请参阅 https://archive.apache.org/dist/tika/)。所以你需要欺骗图书馆接受你下载的文件。
或者有人可以修补python库:)