簡體   English   中英

將 Grobid curl 命令轉換為 Python 中的請求

[英]Convert Grobid curl command to requests in Python

我正在嘗試將curl腳本轉換為從grobid服務器解析 pdf 文件到 Python 中的requests

基本上,如果我按如下方式運行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

我得到了答案。 基本上,我錯過了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

這是來自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.tei

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM