2013-07-09 1 views
1

Я пытаюсь использовать Python для запроса данных из API Sentiment140. API использует службу массовой классификации (JSON). В терминале он работает нормальноПреобразование Curl в Python с использованием Urllib с Sentiment140 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

 Смежные вопросы

  • Нет связанных вопросов^_^