用Python发送Twitter转发

4 投票
4 回答
4470 浏览
提问于 2025-04-16 14:31

我想知道这是否可行——我想用Python自动转发某个人发的每一条推文。如果可以的话,我该怎么做呢?

4 个回答

1

这是OAuth的“快速简便”方法,请记住,你需要先安装Tweepy才能让这个方法正常工作。

import tweepy

api_key = 'your_key'
api_secret = 'your_secret_key'
access_token = 'your_token'
access_secret = 'your_secret_token'

auth = tweepy.OAuthHandler(api_key, api_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

for status in api.user_timeline('someuser'):
    api.retweet(status.id)
3

你可以转发你关注的人发的任何推文。你也可以转发所有公开的推文。

使用这个链接: https://github.com/joshthecoder/tweepy,你会发现有一个非常简单的方法来做到这一点。

7

很遗憾,python-twitter 目前还不支持 Twitter 的 转发 REST 调用

你需要自己直接进行这个调用(使用 api._FetchURL 直接调用),或者可以应用在 问题 130 中的补丁来添加支持。

使用 tweepy 会更好;可以查看 API 文档,里面有一个很方便的 retweet(id) 方法用于转发。

这里有个简单的例子:

import tweepy
auth = tweepy.BasicAuthHandler("username", "password")
api = tweepy.API(auth)
for status in api.user_timeline('someuser'):
    api.retweet(status.id)

这个例子会转发 someuser 的最近 20 条状态。不过你可能还需要写一些代码,以防下次运行脚本时再次转发那些相同的消息。

补充:Twitter 不再接受基本认证(BasicAuth),你需要使用 OAuth 认证来获取授权令牌。把上面的例子改成使用 OAuth 会偏离我想说明的转发 API 的重点,详细的教程可以参考 Tweepy OAuth 教程

撰写回答