使用Tweepy访问Twitter API时出现错误

3

我正在使用Python 3来访问Twitter API进行一些推文分析。但是,我无法通过API调用获取任何数据。

我已经尝试升级requestspyopensssl,但问题仍然存在。

以下是代码:

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文件中获取推文流。
1个回答

0

twitterStream = streaming.Stream(auth, listener()) 引用中添加 verify = False,参考 TWEEPY SSLerror regarding certificate

twitterStream = streaming.Stream(auth, listener(), verify = False) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接