2013-07-09 14 views
1

我正尝试使用Python从Sentiment140 API请求数据。 API正在使用批量分类服务(JSON)。在终端它做工精细使用带有Sentiment140的Urllib将Curl转换为Python API

curl -d "{'data': [{'text': 'I love Titanic.'}, {'text': 'I hate Titanic.'}]}" http://www.sentiment140.com/api/bulkClassifyJson 

导致以下响应:

{"data":[{"text":"I love Titanic.","polarity":4,"meta":{"language":"en"}},{"text":"I hate Titanic.","polarity":0,"meta":{"language":"en"}}]} 

我想我可能只是使用的urllib摆脱我的Python代码相同的响应。我想:

import urllib 
import urllib2 

url = 'http://www.sentiment140.com/api/bulkClassifyJson' 
values = {'data': [{'text': 'I love Titanic.'}, {'text': 'I hate Titanic.'}]} 

data = urllib.urlencode(values) 
response = urllib2.urlopen(url, data) 
page = response.read() 

代码工作,但它并没有给我任何结果。 我错过了什么吗?

回答

4

我想你需要在这里使用json。

尝试做:

data = json.dumps(values) # instead of urllib.urlencode(values) 
response = urllib2.urlopen(url, data) 
page = response.read() 

,并在顶部

import json 
+0

完美!谢谢! – Tom