我想获得一些关于攻击性犬只的推文。我的关键字在代码中指定。他们都提到德国牧羊犬(西班牙语“pastoralemán”)。 例如,其他微博中我希望得到this one最贴合的关键字,并到2015年二月发布 月23日我执行低于给定的代码和1个小时左右的等待下面的错误出现后:ReadTimeoutError:Twitter流媒体API
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)
我已经回答了类似的问题[这里](https://stackoverflow.com/a/47865652/3478114)。 –