Python调用Twitter API拉取多账号推文无法生效问题咨询
多Twitter账号推文批量拉取解决方案
tweepy封装的user_timeline接口对应Twitter官方API的单账号查询能力,仅支持单次传入1个用户名参数,直接传入用户名列表无法被接口识别,因此你之前的修改无法得到预期结果。
你可以通过遍历账号列表逐个拉取的方式实现需求,最终生成的DataFrame会同时包含推文内容和对应来源用户名,可直接用于数据库搭建,参考代码如下:
import pandas as pd # 假设你已经完成api的身份初始化,此处省略认证代码 # 定义所有需要拉取的目标用户名 target_accounts = ['AlArabiya_Brk', 'AJABreaking'] tweet_data = [] for account in target_accounts: # 单账号推文拉取 posts = api.user_timeline( screen_name=account, count=100, lang="ar", tweet_mode="extended" ) # 存储每条推文的对应信息 for tweet in posts: tweet_data.append({ "来源用户名": account, "推文内容": tweet.full_text }) # 转换为DataFrame df = pd.DataFrame(tweet_data)
如果需要提升容错性,可以在拉取逻辑外添加异常捕获,避免单个账号被封禁、不存在等问题导致整个脚本终止:
for account in target_accounts: try: posts = api.user_timeline( screen_name=account, count=100, lang="ar", tweet_mode="extended" ) for tweet in posts: tweet_data.append({ "来源用户名": account, "推文内容": tweet.full_text }) except Exception as e: print(f"账号{account}拉取失败,错误:{str(e)}")
内容的提问来源于stack exchange,提问作者reem alfouzan
相关产品推荐
相关产品推荐

