首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将Grobid curl命令转换为请求

在Python中将Grobid curl命令转换为请求
EN

Stack Overflow用户
提问于 2018-04-19 04:02:27
回答 2查看 311关注 0票数 1

我正在尝试转换curl脚本,以解析从grobid服务器的requests文件在Python文件。

基本上,如果我按如下方式运行grobid服务器,

代码语言:javascript
复制
./gradlew run 

我可以使用以下curl来获得学术论文example.pdf的解析后的XML输出,如下所示

代码语言:javascript
复制
curl -v --form input=@example.pdf localhost:8070/api/processHeaderDocument

但是,我不知道如何将此脚本转换为Python。下面是我使用requests的尝试

代码语言:javascript
复制
GROBID_URL = 'http://localhost:8070'
url = '%s/processHeaderDocument' % GROBID_URL
pdf = 'example.pdf'
xml = requests.post(url, files=[pdf]).text
EN

回答 2

Stack Overflow用户

发布于 2018-04-19 04:36:46

我知道答案了。基本上,我在GROBID_URL中遗漏了api,而且输入的files应该是字典而不是列表。

代码语言:javascript
复制
GROBID_URL = 'http://localhost:8070'
url = '%s/api/processHeaderDocument' % GROBID_URL
pdf = 'example.pdf'
xml = requests.post(url, files={'input': open(pdf, 'rb')}).text
票数 2
EN

Stack Overflow用户

发布于 2021-01-10 22:54:41

下面是一个来自http://ceur-ws.bitplan.com/index.php/Grobid的示例bash脚本。请注意,还有一个可供使用的python客户端。请参阅https://github.com/kermitt2/grobid_client_python

代码语言:javascript
复制
#!/bin/bash
# WF 2020-08-04
# call grobid service with paper from ceur-ws
v=2644
p=44
vol=Vol-$v
pdf=paper$p.pdf
if [ ! -f $pdf ]
then
  wget http://ceur-ws.org/$vol/$pdf
else
  echo "paper $p from volume $v already downloaded" 
fi
curl -v --form input=@./$pdf http://grobid.bitplan.com/api/processFulltextDocument > $p.tei
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49908132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档