You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Tweepy Twitter爬虫中整合循环批量爬取多用户推文

批量爬取多用户推文并保存为CSV的实现方案

核心实现步骤

  1. 定义包含所有目标用户名的列表
  2. 遍历列表逐个执行爬取逻辑
  3. 合并所有用户的推文数据
  4. 将合并结果导出为CSV文件

修正后的完整代码

import tweepy
import time
import pandas as pd

# 替换为你的API密钥
api_key = ''
api_secrets = ''
access_token = ''
access_secret = ''
 
# 认证并初始化API
auth = tweepy.OAuthHandler(api_key, api_secrets)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)

# 目标用户列表(替换为你的100个用户名)
user_list = ["markrutte", "example_user1", "example_user2"]
no_of_tweets = 3200

# 初始化空DataFrame存储所有数据
all_tweets_df = pd.DataFrame(columns=["Date Created", "Number of Likes", "Source of Tweet", "Tweet", "Username"])

# 批量爬取逻辑
for username in user_list:
    try:
        print(f"正在爬取用户 {username} 的推文...")
        # 获取用户推文
        tweets = api.user_timeline(screen_name=username, count=no_of_tweets)
        
        # 提取推文属性,额外添加用户名用于区分
        attributes_container = [
            [tweet.created_at, tweet.favorite_count, tweet.source, tweet.text, username] 
            for tweet in tweets
        ]

        # 转换为DataFrame并追加到总数据
        user_tweets_df = pd.DataFrame(attributes_container, columns=all_tweets_df.columns)
        all_tweets_df = pd.concat([all_tweets_df, user_tweets_df], ignore_index=True)
        
        print(f"用户 {username} 爬取完成,共获取 {len(tweets)} 条推文")
        
    except BaseException as e:
        print(f"爬取用户 {username} 失败: {str(e)}")
        time.sleep(3)

# 保存为CSV文件(utf-8-sig避免Windows下乱码)
all_tweets_df.to_csv("多用户推文数据.csv", index=False, encoding='utf-8-sig')
print("所有数据已保存到 多用户推文数据.csv")

关键细节说明

  • 用户名标识:在数据中新增Username列,方便后续区分不同用户的推文
  • 异常隔离:每个用户的爬取逻辑单独捕获异常,避免单个用户爬取失败导致整个批量任务中断
  • 数据合并:使用pd.concat合并多个用户的DataFrame,ignore_index=True重置索引避免重复
  • CSV编码:设置encoding='utf-8-sig'解决Windows系统下打开CSV时的中文乱码问题

内容的提问来源于stack exchange,提问作者Chiaro Scuro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:50:50