如何用Scweet轻松抓取Twitter推文、关注者和用户信息:2026最新教程
Scweet是一款强大的Twitter数据抓取工具,它能帮助你轻松获取推文、关注者列表和用户信息。无论是市场研究、数据分析还是社交趋势追踪,Scweet都能提供简单而无限制的数据采集能力,让你快速掌握Twitter平台上的有价值信息。
Scweet简介:为什么它是2026年最佳Twitter抓取工具?
Scweet是一个开源项目,提供两种使用方式:作为托管的Apify Actor(适合生产环境和轻松扩展)和Python库(适合嵌入到自己的代码库中)。它使用Twitter的Web GraphQL API进行数据抓取,能够高效地获取结构化数据,并在本地SQLite数据库中保存状态信息,包括账户、租约和恢复检查点。
Scweet的核心功能亮点
- 全面的数据抓取:支持搜索推文、用户时间线、关注者和关注列表
- 灵活的搜索选项:可按时间范围、关键词、用户、话题标签等多维度筛选
- 高效的数据处理:支持CSV和JSON格式输出,可配置去重和续爬功能
- 账户管理:支持多账户配置和代理设置,提高抓取稳定性
- 简单易用:提供直观的API和详细的文档,新手也能快速上手
快速开始:3步安装Scweet
1. 克隆项目仓库
首先,将Scweet项目克隆到本地:
git clone https://gitcode.com/gh_mirrors/sc/Scweet
2. 安装依赖
进入项目目录,使用pip安装所需依赖:
cd Scweet
pip install -r requirements.txt
3. 安装Scweet库
直接通过pip安装Scweet库:
pip install Scweet
完成以上步骤后,你就可以开始使用Scweet进行Twitter数据抓取了!
Scweet基本配置:5分钟上手
Scweet提供了灵活的配置选项,让你可以根据需求定制抓取行为。以下是一个基本的配置示例:
from Scweet import Scweet, ScweetConfig
cfg = ScweetConfig.from_sources(
db_path="scweet_state.db",
cookies_file="examples/cookies.json",
output_format="both", # 同时输出CSV和JSON格式
resume_mode="hybrid_safe", # 混合模式续爬
overrides={
"pool": {"concurrency": 4}, # 并发数设置
"operations": {
"account_requests_per_min": 30, # 每分钟请求限制
"account_min_delay_s": 2, # 请求间隔
},
"output": {"dedupe_on_resume_by_tweet_id": True}, # 基于推文ID去重
},
)
scweet = Scweet(config=cfg)
你需要准备一个包含Twitter账户信息的cookies.json文件,格式如下:
[
{
"username": "your_account",
"cookies": { "auth_token": "your_auth_token", "ct0": "your_ct0_value" }
}
]
抓取Twitter推文:简单高效的方法
使用Scweet抓取推文非常简单,只需调用search方法并设置相关参数即可。以下是一个基本示例:
基础推文搜索
tweets = scweet.search(
since="2026-02-01", # 开始日期
until="2026-02-07", # 结束日期
search_query="bitcoin", # 搜索关键词
any_words=["btc", "bitcoin"], # 任意包含的词
tweet_type="exclude_replies", # 排除回复
min_likes=10, # 最低点赞数
has_links=True, # 包含链接
limit=200, # 限制结果数量
resume=True, # 支持续爬
save_dir="outputs", # 保存目录
custom_csv_name="bitcoin_tweets.csv", # 自定义文件名
save=True, # 保存到文件
save_format="both", # 同时保存CSV和JSON
display_type="Latest", # 按最新排序
)
print(f"抓取到 {len(tweets)} 条推文")
搜索结果示例
下面是Scweet的输入配置界面,你可以在这里设置各种搜索参数:
抓取结果会以表格形式展示,包含推文内容、作者、发布时间、互动数据等信息:
抓取用户关注者和关注列表
除了推文,Scweet还可以抓取用户的关注者和关注列表。以下是示例代码:
抓取关注者
followers = scweet.get_followers(
usernames=["OpenAI", "elonmusk"], # 目标用户名
limit=200, # 总限制
per_profile_limit=100, # 每个用户的限制
resume=True, # 支持续爬
save_dir="outputs",
custom_csv_name="followers.csv",
save=True,
save_format="csv",
)
print(f"抓取到 {len(followers)} 个关注者")
抓取关注列表
following = scweet.get_following(
usernames=["OpenAI"],
limit=100,
per_profile_limit=100,
resume=True,
save_dir="outputs",
custom_csv_name="following.csv",
save=True,
save_format="csv",
)
print(f"抓取到 {len(following)} 个关注用户")
获取用户信息:详细资料一键获取
Scweet可以轻松获取指定用户的详细信息,包括关注数、粉丝数、简介等:
profile_result = scweet.get_user_information(
usernames=["OpenAI", "elonmusk"],
profile_urls=["https://x.com/OpenAI"],
include_meta=True,
save_dir="outputs",
custom_csv_name="profiles_info.csv",
save=True,
save_format="both",
)
print(f"获取到 {len(profile_result.get('items', []))} 个用户信息")
高级技巧:提升Scweet抓取效率
1. 使用异步模式提高性能
Scweet提供异步API,可以显著提高抓取效率,特别适合大规模数据采集:
# 异步搜索示例
tweets = await scweet.asearch(
since="2026-02-01",
until="2026-02-07",
search_query="bitcoin",
limit=50,
save=True,
save_format="both",
)
2. 配置代理提高稳定性
为每个账户配置单独的代理,可以有效避免IP被限制:
[
{
"username": "acct1",
"cookies": { "auth_token": "...", "ct0": "..." },
"proxy": { "host": "127.0.0.1", "port": 8080, "username": "proxyuser", "password": "proxypass" }
}
]
3. 数据库维护与优化
使用ScweetDB工具可以方便地管理和维护本地数据库:
from Scweet import ScweetDB
db = ScweetDB("scweet_state.db")
print(db.accounts_summary()) # 查看账户摘要
print(db.list_accounts(limit=10, eligible_only=True)) # 列出可用账户
db.reset_daily_counters() # 重置每日计数器
Scweet常见问题解答
Q: Scweet需要Twitter开发者账号吗?
A: 不需要。Scweet使用Web GraphQL API进行数据抓取,只需要普通的Twitter账户cookies。
Q: 如何处理抓取过程中的速率限制?
A: Scweet内置了速率限制控制,可通过account_requests_per_min和account_min_delay_s参数调整请求频率。
Q: 可以同时使用多个Twitter账户吗?
A: 可以。通过accounts.txt或cookies.json文件配置多个账户,Scweet会自动管理账户轮换。
Q: 抓取的数据会保存在哪里?
A: 抓取的数据默认保存在outputs目录下,格式可以是CSV、JSON或同时保存两种格式。
总结:Scweet让Twitter数据抓取变得简单
Scweet是一款功能强大且易于使用的Twitter数据抓取工具,无论是新手还是有经验的开发者都能快速上手。通过本教程,你已经了解了Scweet的基本安装、配置和使用方法,能够轻松抓取推文、关注者和用户信息。
随着社交媒体数据在各个领域的重要性不断提升,掌握Scweet这样的工具将为你的数据分析工作带来巨大优势。开始使用Scweet,探索Twitter平台上的无限数据可能吧!
更多详细信息,请参考项目中的DOCUMENTATION.md文件。如果你有任何问题或建议,欢迎参与项目贡献,一起完善Scweet!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





