我正在尝试使用Python从Sentiment140 API请求数据。 API使用批量分类服务(JSON)。在终端内它工作正常
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()
代码有效,但它没有给我任何结果。 我错过了什么吗?
答案 0 :(得分:4)
我认为你需要在这里使用json。
尝试:
data = json.dumps(values) # instead of urllib.urlencode(values)
response = urllib2.urlopen(url, data)
page = response.read()
并在顶部
import json