我正在尝试通过将文本文件作为查询的一部分来查询公共服务(DBpedia)。
curl -X POST -g -H "Accept: application/json" --data-urlencode text@wiki_00 https://api.dbpedia-spotlight.org/en/annotate
使用curl我可以使用--data-urlencode text@wiki_00
来发布大型文本文件作为查询的文本输入。这是必需的,否则您可以为文本提供多少文本作为一个限制,如果超出此限制,则返回错误代码414:URI TOO LARGE。
我的问题是,如何使用Python requests
复制此行为?
我的尝试
f = open("wiki_00", "r")
myfile = f.read()
headers = { 'Accept': 'application/json', , "content-type": "application/x-www-form-urlencoded" }
params = params = (
('text', myfile),
('confidence', confidence) #this is by default 0.5, not obligatory
)
response = requests.post('https://api.dbpedia-spotlight.org/en/annotate',headers=headers, params=params)
但是,这尝试将请求发送到太大的URI,并且我再次收到错误代码414。我怎样才能使其完全像curl
回复?与--data-urlencode text@wiki00
吗?