# 教你开发一个简易的推特白名单机器人 **Published by:** [zlexdl.eth](https://paragraph.com/@zlexdl/) **Published on:** 2022-02-22 **URL:** https://paragraph.com/@zlexdl/cxoz4mUpeMrozvCDf3Hd ## Content 背景: 推特上有很多有影响力的大V做一些白名单的活动,只要完成关注点赞转推就有机会获得白名单,很多小伙伴每天做很多这样的任务,但是从来都没被抽中过,原因很简单,机器人太多了,那么你想不想也要一个自己的机器人呢? 前提: 有一定的开发基础(python) 有一个推特开发账号(关于推特开发者账号申请的问题和经验) 技术栈: python3 python类库:tweepy 一,需求分析: 做一个推特机器人,自动完成白名单任务。 白名单任务大致有:关注,点赞,转推。(太复杂的不在本次教程之内) 任务拆解: 1,关注功能 2,点赞功能 3,转推功能 除以上功能还需要找到发白名单活动的推文。 一般白名单活动的推文中会有以下几个关键字: Follow,Like,RT,Tag,Retweet,FOLLOW,LIKE,RETWEET,TAG,关注,转推,喜欢 二,设计 机器人所要做的事就是 认证→ 找推文→ 关注→ 点赞→ 转推→ 找下一条推文 以下是设计流程图: 三,调研 需要调研四个功能, 认证 找推文 关注 点赞 转推 1,认证和找推文 只要你学习过tweepy的话,认证和找推文是tweepy最基本的功能。 以下代码,能完成认证,然后打印出当前时间点home上展示的第一条推文: 执行结果(红框内就是第一条推文): 这里可参照tweepy的API文档:get-tweet-timelines 但是有了推文,我不知道是谁发的哪条推文,我就不知道关注谁,给哪条推文点赞,和转推哪条推文? 先解析一下一条推文必要的属性 我们需要的一条推文的最基本元素有:用户标识(screen_name),推文ID,推文内容 那么这条推文的基本信息如下: 重新改一下代码: 执行结果中想要的信息都出来了: 2,关注 有了上面取得的用户标识(screen_name),就很容易做关注了。使用以下API就可以关注了。 api.create_friendship(screen_name=screen_name) API文档: api.create_friendship() 先找到一个未关注的人(红框中文字就是用户标识,也就是screen_name) 执行以下代码, 成功关注了 3,点赞 点赞需要知道推文的id,然后使用以下代码 api.create_favorite(id=tweet.id_str) 还记得上面的这个推文吗? 推文ID是:1496107063281283078 执行以下代码: 执行代码后,推文被点赞了 4,转推 转推使用以下代码: api.update_status( '转推这条推文', attachment_url="https://mobile.twitter.com/mirror_alerts/status/1496107063281283078") 执行完以上代码后: 5,找白名单活动的推文 使用简单python函数就可以找出有白名单活动的推文,触发条件后去做关注,点赞,转推就可以了。 四,开发实现 把以上的功能组合起来就可以实现简单的机器人了,这里我只是抛砖引玉,剩下的工作就交给你们了。 如果你觉得对你有用 请关注我的mirror: https://mirror.xyz/zlexdl.eth 和关注我的推特:https://twitter.com/zlexdl 我的Notion地址:https://zlexdl.notion.site/f4aa875aa7be4ccca3918a783c499959 我的Medium地址:https://medium.com/@zlexdl.eth ## Publication Information - [zlexdl.eth](https://paragraph.com/@zlexdl/): Publication homepage - [All Posts](https://paragraph.com/@zlexdl/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@zlexdl): Subscribe to updates - [Twitter](https://twitter.com/zlexdl): Follow on Twitter