我在學習Python,我想開始使用Twitter的流媒體API。我知道如何構建一個非常基本的應用程序,該應用程序使用urllib2
來讀取頁面的內容,並在過去成功地完成了此操作。但是,此特定的Twitter流媒體API所需的安全連接https://
似乎不適用於urllib2。如何從使用Python的https鏈接獲取JSON?
我試圖從以下鏈接獲取JSON:https://stream.twitter.com/1.1/statuses/filter.json?locations=-122.75,36.8,-121.75,37.8
通過寫入以下內容:
import urllib2
url = "https://stream.twitter.com/1.1/statuses/filter.json?locations=-122.75,36.8,-121.75,37.8"
print urllib2.urlopen(url).read()
回溯,雖然說我沒有被授權;我推測這是因爲HTTPS SSL連接,研究支持這一點。所以我想我的問題是從需要這種SSL連接的鏈接獲取JSON的最佳方式是什麼?我也試過捲曲,但只能再次出現錯誤401。
下面是完整的回溯。
Traceback (most recent call last): File "", line 1, in File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default urllib2.HTTPError: HTTP Error 401: Unauthorized
非常感謝提前。
的API可能需要OAuth憑證或其他API密鑰。 – Amber
啊。它確實表示它需要一個Twitter用戶才能登錄。我想這就是爲什麼當我在瀏覽器中輸入url時(因爲我已登錄到Twitter),這個流的作用。它不需要OAuth,所以我可以將我的登錄憑證添加到我的Python文件的頭文件中? – zch