我正在使用Python 3来访问Twitter API进行一些推文分析。但是,我无法通过API调用获取任何数据。
我已经尝试升级requests
和pyopensssl
,但问题仍然存在。
以下是代码:
from tweepy import streaming
from tweepy import StreamListener
from tweepy import OAuthHandler
import time
ACCESS_TOKEN = 'XXX'
ACCESS_SECRET = 'XXX'
CONSUMER_KEY = 'XXX'
CONSUMER_SECRET = 'XXX'
class listener (StreamListener):
def on_data(self, data):
try:
print(data)
savefile = open('pythontweet.csv', 'a')
savefile.write(data)
savefile.write("\n")
savefile.close()
except Exception as e:
print(f"Failed on {e}")
time.sleep(10)
return True
def on_error(self, status):
print(status)
auth = OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN,ACCESS_SECRET)
twitterStream = streaming.Stream(auth, listener())
twitterStream.filter(track=["python"])
我遇到了以下错误:
SSLError: HTTPSConnectionPool(host='stream.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/filter.json?delimited=length (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
然而,我应该在pythontweet.csv文件中获取推文流。