【发布时间】:2021-06-22 06:54:52
【问题描述】:
如果该推文包含提及@oogabooga,我有此代码可以转推推文。 我将如何更改它,以便它转发@oogabooga 发布的每条推文,而无需在这些推文中提及? 所以基本上我想转发@oogabooga 发布的所有推文,无论内容如何。我尝试自己修改它并浏览了 tweepy 文档、API,并查找了一些类似的问题,试图从那里构建,但没有运气。帮助一个菜鸟!
import logging
import time
import random
from datetime import datetime, timedelta
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
auth = tweepy.OAuthHandler('hiddenkey1','hiddenkey2')
auth.set_access_token('hiddenkey3','hiddenkey4')
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
user = api.me()
def fav_retweet_user(api, user_handle):
search_query = f"{user_handle} -filter:retweets"
logger.info(f'Retrieving tweets mentioning {user_handle}...')
tweets = api.search(q=search_query, lang ="en")
for tweet in tweets:
if tweet.in_reply_to_status_id is not None or \
tweet.user.id == api.me().id:
return
if not tweet.favorited:
try:
tweet.favorite()
logger.info(f"Liked a tweet mentioning {user_handle}")
except Exception as e:
logger.error("Error on fav", exc_info=True)
if not tweet.retweeted:
try:
tweet.retweet()
logger.info(f"Retweeted a tweet mentioning {user_handle}")
except Exception as e:
logger.error("Error on fav and retweet", exc_info=True)
while True:
fav_retweet_user(api, "@oogabooga")
logger.info("Waiting...")
time.sleep(30)
【问题讨论】:
-
如果您将搜索查询更改为
from:{user_handle},它将找到他们发布的推文;但是,您应该阅读 Twitter 自动化规则以避免您的应用因垃圾邮件行为而被暂停help.twitter.com/en/rules-and-policies/twitter-automation -
@AndyPiper 当我将我的
search_query = f"{user_handle} -filter:retweets"更改为search_query = from:{user_handle}时,它会显示 SyntaxError: invalid syntax 并指向它。我做错了什么? -
你能解决这个问题吗?