我正在使用Tika,我意识到每次下载jar文件并将其放入临时文件夹时
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手动运行jar
2-使用tika.TikaClientOnly = True
3-用parser.from_file(path, '/path/to/server')替换parser.from_file(path)
但是我不想手动运行jar文件。如果我可以使用Python自动运行jar文件并使用它设置tika而不需要重新下载,那就更好了。
发布于 2020-03-06 18:03:51
要解决此问题,您应该向tika服务器jar添加一个环境变量,并指定包含tika jar文件的路径文件夹。
TIKA_SERVER_JAR =‘路径_OF_FOLDER_CONTAINING_TIKA_SERVER_JAR’。
发布于 2021-11-08 08:26:27
如果您不想添加环境变量,您可以更改tika查找tika-server.jar文件的目录,代码如下。
from tika import tika
tika.TikaJarPath = r'TIKA_SERVER_PATH'在TIKA_SERVER_PATH中,jar文件名应该是tika-server.jar(名称不应该包括版本),而且.md5文件必须在那里。如果.md5文件的版本不是正确的tika-server.jar,则此方法不起作用,并且tika将删除您的文件并下载默认版本。
发布于 2021-07-05 21:54:52
在尝试了几乎所有的方法并调试了tika.py库代码之后,我发现您必须同时设置这两个变量才能使此攻击生效。
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库:)
https://stackoverflow.com/questions/56559850
复制相似问题