如何用Scweet轻松抓取Twitter推文、关注者和用户信息:2026最新教程

如何用Scweet轻松抓取Twitter推文、关注者和用户信息:2026最新教程

【免费下载链接】Scweet A simple and unlimited twitter scraper : scrape tweets, likes, retweets, following, followers, user info, images... 【免费下载链接】Scweet 项目地址: https://gitcode.com/gh_mirrors/sc/Scweet

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输入配置界面

抓取结果会以表格形式展示,包含推文内容、作者、发布时间、互动数据等信息:

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_minaccount_min_delay_s参数调整请求频率。

Q: 可以同时使用多个Twitter账户吗?

A: 可以。通过accounts.txtcookies.json文件配置多个账户,Scweet会自动管理账户轮换。

Q: 抓取的数据会保存在哪里?

A: 抓取的数据默认保存在outputs目录下,格式可以是CSV、JSON或同时保存两种格式。

总结:Scweet让Twitter数据抓取变得简单

Scweet是一款功能强大且易于使用的Twitter数据抓取工具,无论是新手还是有经验的开发者都能快速上手。通过本教程,你已经了解了Scweet的基本安装、配置和使用方法,能够轻松抓取推文、关注者和用户信息。

随着社交媒体数据在各个领域的重要性不断提升,掌握Scweet这样的工具将为你的数据分析工作带来巨大优势。开始使用Scweet,探索Twitter平台上的无限数据可能吧!

更多详细信息,请参考项目中的DOCUMENTATION.md文件。如果你有任何问题或建议,欢迎参与项目贡献,一起完善Scweet!

【免费下载链接】Scweet A simple and unlimited twitter scraper : scrape tweets, likes, retweets, following, followers, user info, images... 【免费下载链接】Scweet 项目地址: https://gitcode.com/gh_mirrors/sc/Scweet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值