python - Python-Tweepy 的设置

标签 python tweepy

我是Python新手,所以这个问题是为了找到一个正确的方向。我想做的是编写一个应用程序,自动回复发送到我的 Twitter 句柄的查询。我为此使用 Tweepy。我的步骤如下:

  1. 收听任何提及我的账号的推文
  2. 收集推文并进行分析
  3. 建立自动回复
  4. 在 Twitter 上发表回复

我必须为步骤 2 和 3 连接一些 Web 服务并获取 JSON 响应。

我的问题是关于正确的设置。你们认为独立的 Tweepy 应用程序能够在生产级别处理这个问题吗?或者我应该为此寻求一些服务器实现?如果是第二个,你们能给我指出一些链接,我该怎么做吗?我对 Python 还很陌生。

最佳答案

使用 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 帐户才能正常工作并输入您自己的安全 token 。我目前无法测试对时间线的写入,因为我的时间线是只读的。

关于python - Python-Tweepy 的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18314749/

相关文章:

python - 使用 Python 3.6 检查句子中是否存在某些字符串并用另一个字符串替换它们

python - 使用 tweepy 和情绪分析流式传输推文的问题

python - 从 Twitter 流中排除回复 - tweepy

python - 使用 Tweepy 避免速率限制从 API 获取最后的 Twitter 提及

python - Pygame 已经安装;但是,python 终端说 "No module named ' pygame'"(Ubuntu 20.04.1)

python - 向列添加前导零

python - 如何将构造函数添加到子类数字类型?

python - 添加装饰器后,Flask 抛出 "Could not build url for endpoint ' 索引'"

python - Tweepy 一次查找多条推文的扩展推文?

python - 如何将流信息从 stdout 传输到 python 中的 mySQLdb?