Twikit:免费且易于使用的 Python Twitter 自动化工具

Twikit 徽标

GitHub 星标数
GitHub 提交活动
PyPI 版本
发推
Discord
请我喝咖啡

想象一下,只需几行 Python 代码,您就可以轻松与 Twitter 互动——发布推文、搜索热门话题或获取用户动态——而且完全免费,无需官方 API 密钥。这就是 Twikit 的独特魅力:一个免费、开源的 Twitter API 客户端,让自动化操作和数据获取变得简单有趣。无论您是编程新手、数据分析爱好者,还是想打造一个 Twitter 机器人,Twikit 都能帮您轻松实现目标。本文将详细介绍 Twikit 的功能、使用方法及实用示例,带您一步步掌握这个强大的工具。


什么是 Twikit?

Twikit 是一个专为 Python 设计的库,让您无需官方 Twitter API 密钥即可与 Twitter 互动。它通过抓取 Twitter 的公共 API 接口,绕过了繁琐的开发者申请流程。这意味着您可以用现有的 Twitter 账户,免费实现发推文、搜索内容、跟踪趋势等功能。

Twikit 的核心优势

  • 无需 API 密钥:省去申请 Twitter 开发者权限的麻烦,直接使用公共数据。
  • 完全免费:没有订阅费用或隐藏成本,功能强大且开放。
  • 功能丰富:支持发布带图片的推文、关键词搜索、获取趋势等多样化操作。

Twikit 就像一个贴心的助手,适合所有希望通过编程探索 Twitter 的用户。它不是官方工具的替代品,而是提供了一个轻量、便捷的选择,尤其适合中国开发者或对自动化感兴趣的用户。


快速上手:安装 Twikit

在使用 Twikit 之前,您需要先安装它。如果您的电脑已有 Python 环境,这个过程非常简单。

安装步骤

  1. 打开终端或命令行:Windows、macOS 或 Linux 系统均可。
  2. 输入安装命令

    pip install twikit
    
  3. 等待完成:命令会从 PyPI(Python 包索引)下载并安装 Twikit,完成后即可使用。

安装过程简单快捷!确保您的 Python 版本为 3.7 或以上。如果您能看到这篇文章,想必已经准备就绪。


Twikit 使用指南:5个实用示例

Twikit 的真正价值在于它的易用性。接下来,我们将通过五个核心任务和代码示例,带您了解它的强大功能。每次操作只需登录一次,就能解锁 Twitter 的无限可能。

1. 设置并登录

首先,您需要将 Twikit 连接到您的 Twitter 账户。以下是创建客户端并登录的步骤:

import asyncio
from twikit import Client

# 替换为您的 Twitter 账户信息
USERNAME = '您的用户名'
EMAIL = '您的邮箱@example.com'
PASSWORD = '您的密码'

# 创建客户端(语言设为英语)
client = Client('en-US')

# 登录函数
async def main():
    await client.login(
        auth_info_1=USERNAME,
        auth_info_2=EMAIL,
        password=PASSWORD
    )
    print("登录成功!")

# 运行异步函数
asyncio.run(main())

代码说明

  • Asyncio:Twikit 使用异步编程以提升效率,asyncio.run() 确保代码顺利执行。
  • Client:这是与 Twitter 互动的桥梁,使用语言代码(如 'en-US')和账户信息初始化。
  • 登录:输入用户名、邮箱和密码进行认证,登录成功后 Twikit 会保存会话。

运行代码并输入您的信息,登录成功后即可开始探索。


2. 发布带图片的推文

想发布一篇带照片的推文?Twikit 让这变得轻而易举:

# 上传图片(替换为您的文件路径)
media_ids = [
    await client.upload_media('photo1.jpg'),
    await client.upload_media('photo2.jpg')
]

# 发布带文本和图片的推文
await client.create_tweet(
    text='看看我最新的照片吧!',
    media_ids=media_ids
)
print("推文已发布!")

代码解析

  • 上传媒体upload_media() 将图片文件转换为媒体 ID,支持多张图片上传。
  • 发推create_tweet() 将文本和媒体 ID 结合发布。在异步环境中运行即可完成。

您可以用电脑里的照片试试,比如从 Unsplash 下载的图片:

示例图片

3. 搜索 Twitter 关键词

想了解 Twitter 上的热门话题?Twikit 可以帮您快速搜索:

# 搜索推文
tweets = await client.search_tweet('python', 'Latest')

# 打印结果
for tweet in tweets:
    print(f"用户: {tweet.user.name}")
    print(f"推文: {tweet.text}")
    print(f"发布时间: {tweet.created_at}")
    print("---")

输出内容

  • 搜索参数'python' 是关键词,'Latest' 显示最新推文,可改为 'Top' 查看热门内容。
  • 结果:显示用户名、推文内容和发布时间,像一个小型 Twitter 动态流。

运行后,您能实时看到 Twitter 上的讨论,非常适合研究或追踪热点。


4. 获取用户推文

想查看某个用户的动态?Twikit 支持通过用户 ID 获取推文:

# 获取用户推文(替换 '123456' 为真实 ID)
tweets = await client.get_user_tweets('123456', 'Tweet')

# 打印推文内容
for tweet in tweets:
    print(tweet.text)
    print("---")

操作原理

  • 用户 ID:需要输入 Twitter 用户的数字 ID,可通过在线工具获取。
  • 结果:返回用户最近的推文内容,简单又实用。

这对监控特定账户(如朋友或名人)非常有帮助。


5. 查看 Twitter 趋势

想知道 Twitter 上的热门话题?Twikit 一键获取:

# 获取趋势话题
trends = await client.get_trends('trending')
for trend in trends:
    print(trend.name)

功能亮点

  • 趋势'trending' 参数返回当前热门话题。
  • 用途:了解实时动态,或为下一条推文寻找灵感。

结合 Pexels 的趋势图表,效果更佳:

趋势图

深入探索 Twikit

以上只是入门,Twikit 还支持更多功能:

  • 获取用户资料
  • 关注或取消关注账户
  • 点赞或取消点赞推文
  • 转发推文

想了解更多?请访问 Twikit 官方文档,内容详尽且易读。


使用小贴士

  • 异步设置:Twikit 使用异步调用,建议将代码放入 async def main(): 并用 asyncio.run(main()) 执行。
  • 账户安全:不要将用户名、邮箱或密码硬编码在脚本中,推荐使用环境变量。
  • 合规使用:Twikit 抓取公共数据,请遵守 Twitter 服务条款,避免滥用。

加入 Twikit 社区

有问题或创意?欢迎加入 Discord 社区,与开发者和其他用户交流。

如果 Twikit 帮到了您,可以通过 BuyMeACoffee 请作者喝杯咖啡,表示支持。


总结

Twikit 是 Python 爱好者和 Twitter 探索者的理想工具。它消除了 API 密钥和费用的门槛,让您专注于创造和实验。从发布多媒体推文到追踪趋势,它随着您的创意无限扩展。

拿起电脑,安装 Twikit,开始编程吧!您会先做什么——机器人、趋势监控,还是独一无二的项目?Twitter 的世界等着您。


免责声明:本文仅供学习用途。使用 Twikit 时,请遵守 Twitter 使用政策,作者不对使用后果负责。