gpt4 book ai didi

python - ReadTimeoutError : Twitter Streaming API

转载 作者:行者123 更新时间:2023-12-03 11:51:52 25 4
gpt4 key购买 nike

我想获得一些关于好斗的狗的推文。我的关键字在代码中指定。他们全都指德国牧羊犬(西类牙语为“pastoralemán”)。
例如,在其他推文中,我希望获得与关键字完全匹配的this one,并于2015年2月23日发布。
我执行了下面给出的代码,并在等待约1小时后出现以下错误:

requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='stream.twitter.com', port=443): Read timed out.

看来443端口有问题。如何解决此问题?

P.S.该代码可以很好地与“python,javascript”之类的关键字配合使用。

更新:
我注意到,如果我用英语编写关键字(例如“德国牧羊犬进取”),则代码会检索一些推文。但随后我又收到一条错误消息:
socket.error: [Errno 10054] An existing connection was forcibly closed by the remote host

我的代码:
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
import time

CONSUMER_KEY = "..."
CONSUMER_SECRET = "..."
ACCESS_TOKEN = "..."
ACCESS_TOKEN_SECRET = "..."

class listener(StreamListener):

def on_data(self, data):
try:
print data
saveFile = open('raw_tweets.json', 'a')
saveFile.write(data)
saveFile.write('\n')
saveFile.close()
return True

except BaseException, e:
print 'failed ondata,', str(e)
time.sleep(10)
pass

def on_error(self, status):
print status
if status == 420:
return False


if __name__ == '__main__':
auth = OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
stream = Stream(auth, listener())

keywords = ['pastor aleman agresivo','pastor aleman muerde',
'pastor aleman mata','pastor aleman muerte',
'pastor aleman peligroso','pastor aleman peligro',
'pastor aleman adiestramiento']
stream.filter(track=keywords)

最佳答案

捕获这些错误并重新启动流。错误是正常的。由于您无法控制的多种原因,连接可能会中断。同样,如果90秒钟后没有任何 Activity ,Twitter将关闭连接。

编辑:
有人使用tweepy发布了example,其功能与您所需的功能相似。

关于python - ReadTimeoutError : Twitter Streaming API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519794/

25 4 0