我是Python的新手,所以这个问题就是要找到正确的方向。我想做的是编写一个应用程序,自动回复发送到我的Twitter句柄的查询。我正在使用Tweepy。我的步骤如下:
我必须为步骤2和3连接一些Web服务并获取JSON响应。
我的问题是关于正确的设置。你们认为独立的Tweepy应用程序是否能够在生产级别处理这个问题?或者我应该为此实现一些服务器实现?如果它是第二个,你们可以指点我一些链接,我怎么能这样做?我是Python的新手。
答案 0 :(得分:1)
使用tweepy流媒体示例我发现here您可以编辑过滤器以搜索“@yourhandle”。
您可以通过添加以下内容来访问发送推文的人:
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
print status.text
print status.user.screen_name #<----------------THIS LINE
会告诉你谁发了推文。您可以接下来尝试使用以下方式更新状态:
api.update_status("my update", in_reply_to_status_id = tweetid)
可以使用以下方式获取推文ID:
status.id
代码应如下所示:
import tweepy
consumer_key = "xxx"
consumer_secret = "xxx"
access_key = "xxx"
access_secret = "xxx"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
print status.text
print status.user.screen_name
api.update_status("Insert Auto Reply Text Here", in_reply_to_status_id = status.id)
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
sapi.filter(track=['@rishi'])
您需要创建一个dev Twitter帐户才能工作并输入您自己的安全令牌。我目前无法测试写入时间表,因为我的是只读的。