Python中的FRED REST API
我们正在使用FRED这个工具,把普通的数据转换成RDF/XML格式。我们在网上找到了JAVA的代码,你能给我们提供PYTHON的代码吗?我找到的JAVA代码是:
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
public class TestGet
{
public static void main(String[] args)
{
try
{
Client client = Client.create();
WebResource webResource = client.resource("http://wit.istc.cnr.it/stlab-tools/fred/");
ClientResponse response = webResource.queryParam("text", "He is a good boy").accept("application/rdf+xml").get(ClientResponse.class);
if (response.getStatus() != 200)
{
throw new RuntimeException("Failed : HTTP error code : "+response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("Output from Server .... \n");
System.out.println(output);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
1 个回答
1
对于这么简单的情况,urllib2
可能是最简单的选择。
import urllib2
import urllib # needed for url-encoding
par = {"text": "He is a good boy"}
headers={"Accept" : "application/rdf+xml"}
request = urllib2.Request(
"http://wit.istc.cnr.it/stlab-tools/fred/?" + urllib.urlencode(par),
headers=headers)
contents = urllib2.urlopen(request).read()
print contents
或者,如果事情变得更复杂,你可能会想用Requests
,这个库要酷得多:
import requests
par = {"text": "He is a good boy"}
headers={"Accept" : "application/rdf+xml"}
r = requests.get("http://wit.istc.cnr.it/stlab-tools/fred/",
data=par, headers=headers)
print r["text"]