我對python沒有太多的經驗,但我想要一種方法來存儲來自TweetSentiments.com API的響應。TweetSentiments.com API Python腳本
欲瞭解更多信息請訪問 - http://intridea.com/blog/2010/11/29/sentiment-analysis-using-tweetsentimentscom-api
我有一個CSV文件完全不同的鳴叫,並希望能夠從文件,如「http查詢讀取到API(csvreader.fieldnames?) ://data.tweetsentiments.com:8080/API/analyze.json q =」。
似乎唯一可能的反應是JSON,但我更願意將結果返回給另一個帶有「tweet」和「rating」字段的CSV文件。
所以我很感興趣,創造一個Python腳本 -
讀取CSV文件的鳴叫>構造查詢>詢問API>格式JSON響應>寫入CSV文件。
我只是需要一個基礎,因爲我努力尋找一些示例代碼。
使用捲曲命令在命令行 「弧線「http://data.tweetsentiments.com:8080/api/analyze.json?q=」‘
嘗試,但有一個’400 - 錯誤請求'回來。
我想如果我得到了迴應,我可以用它作爲一個起點。
額外信息 - 正在WinXp上實施。
在此先感謝您的建議!
< ---更新!--->
import csv
import urllib
import simplejson as json
Tweets=[] ## Creates empty list to store tweets.
TweetWriter = csv.writer(open('test.csv', 'w'), dialect='excel', delimiter=' ',quotechar='|')
TweetReader = csv.reader(open("C:\StoredTweets.csv", "r"))
for row in TweetReader:
#TweetList.append(rows)
Tweets.append({ 'tweet': row[0], 'date': row[1] }) ## Stores from CSV in list.
for rows in Tweets:
#print TweetList
data = urllib.urlencode({'Tweet': row[0], 'Date': row[1]}) ##Takes Tweet and date to construct query.
#print data
API_request = urllib.urlopen("http://data.tweetsentiments.com:8080/api/analyze.json?q=", data) ## Adds query to end of URL and queries API
print API_request
result = json.load(urllib.request({'API_request'}))
print result
TweetWriter.write(result) ## Writes API Response to CSV file.
這是json.load一部分,我似乎無法找到竅門。我查看了大量不同的例子,似乎無法理解它。 API_request應該包含我認爲的json結構? json響應應該存儲在另一個列表中嗎?我總是被告知「AttributeError:'模塊'對象沒有屬性'請求'。感謝您抽出寶貴時間與我一起繼續探索!
C:\>python TweetSentiment.py
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body { text-align:center;font-family:helvetica,arial;font-size:22px;
color:#888;margin:20px}
#c {margin:0 auto;width:500px;text-align:left}
</style>
</head>
<body>
<h2>Sinatra doesn't know this ditty.</h2>
<img src='/__sinatra__/404.png'>
<div id="c">
Try this:
<pre>post '/api/analyze' do
"Hello World"
end</pre>
</div>
</body>
</html>
不用了,這正是我要找的,你已經給了我一切我需要開始! 示例代碼也非常棒! 感謝您的及時回覆,並對回覆的時間表示歉意。 歡呼。 – 2012-03-06 21:22:25
我正在努力與腳本的json.load部分。如果我編輯了上面的問題,可以給我一些建議嗎? – 2012-03-08 19:11:04
Sure =)如果你做'urllib.request.urlopen(...)。read()'(或者你的Python版本的相應函數),你會得到你期望的所有數據嗎? – katrielalex 2012-03-08 19:16:08