我正在尝试转换curl脚本,以解析从grobid服务器的requests文件在Python文件。
基本上,如果我按如下方式运行grobid服务器,
./gradlew run 我可以使用以下curl来获得学术论文example.pdf的解析后的XML输出,如下所示
curl -v --form input=@example.pdf localhost:8070/api/processHeaderDocument但是,我不知道如何将此脚本转换为Python。下面是我使用requests的尝试
GROBID_URL = 'http://localhost:8070'
url = '%s/processHeaderDocument' % GROBID_URL
pdf = 'example.pdf'
xml = requests.post(url, files=[pdf]).text发布于 2018-04-19 04:36:46
我知道答案了。基本上,我在GROBID_URL中遗漏了api,而且输入的files应该是字典而不是列表。
GROBID_URL = 'http://localhost:8070'
url = '%s/api/processHeaderDocument' % GROBID_URL
pdf = 'example.pdf'
xml = requests.post(url, files={'input': open(pdf, 'rb')}).text发布于 2021-01-10 22:54:41
下面是一个来自http://ceur-ws.bitplan.com/index.php/Grobid的示例bash脚本。请注意,还有一个可供使用的python客户端。请参阅https://github.com/kermitt2/grobid_client_python
#!/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.teihttps://stackoverflow.com/questions/49908132
复制相似问题