使用NodeJS,Puppeteer和Firebase构建Instagram Bot

最近,我在Instagram上创建了一个企业帐户。 然后,我意识到要吸引新的追随者会付出时间和数据的代价 您必须喜欢,发表评论,并且最重要的是关注他人,以便获得关注。 这些活动还使Instagram可以将您的帐户作为对平台上其他用户的建议。 因此,我决定通过自动化任务来尝试使用Merlin的功能 经过数次谷歌搜索和研究如何完成此任务。 我发现找到的大多数解决方案太过复杂而无法实施或过时。 我决定收集这些知识并创建一个知识,以免像我这样的好奇猫生麻烦。

在本教程中,我们将创建一个机器人来帮助自动执行常规的Instagram活动,例如; 喜欢帖子,关注用户和取消关注用户。 这些活动不仅可以吸引更多关注者,还可以促进帐户内容之间的互动。

本教程要求以下内容:

  • 您选择的IDE,例如Visual Studio Code
  • Node.js (最低v7.6.0版)
  • Firebase 实时数据库
  • 基本了解JavaScript(ES6)

在开始本教程之前,请确保已安装Node和NPM。

在进行过程中,我们将讨论如何设置Firebase实时数据库。

Puppeteer是一个NodeJs库,它提供了高级API来通过DevTools协议控制无头Chrome或Chromium。 默认情况下,该库无头运行,这意味着它运行时不会显示浏览器为打开状态,但可以配置为运行非无头Chrome或Chromium。

在puppeteer的帮助下,我们的机器人将能够浏览Instagram并像普通用户一样执行操作。 该库使用选择器与网页进行交互,例如单击,输入等,我们将在继续学习Puppeteer的工作方式。

火力基地 是一个移动和Web开发平台,提供不同的服务,例如分析,身份验证,实时数据库,存储等。 在本教程的过程中,我们将使用Firebase实时数据库存储我们关注的用户,并归档我们未关注的用户。 在本教程中,我们不会详细介绍如何使用Firebase了解更多信息,请访问Docs。

  • 访问firebase.google.com并使用您的Google帐户登录
  • 单击添加项目,然后输入项目名称,例如ig-bot-demo,创建项目,然后单击继续。
  • 现在选择实时数据库,选择测试模式,然后单击启用按钮。
  • 您将被重定向到数据库仪表板,现在我们需要获取数据库凭据,以便我们可以从bot对其进行集成。 要获得这些凭据,请从侧面菜单中单击项目概述,然后选择项目设置。

创建一个新的节点项目

  • 创建一个项目文件夹并使用所需的IDE打开该文件夹。将其命名为ig-bot项目文件夹。
  • 在根文件夹中创建一个文件package.jso并添加这些依赖项

_doPostLikeAndFollow()方法添加到我们的类中,如下所示:

步骤6:

接下来,我们将实现unFollowUsers()方法。 顾名思义,这是要取消关注我们一段时间内关注的用户。 持续时间在我们的配置文件中指定为unfollow_after_days

unFollowUsers()方法添加到我们的类中,如下所示:

步骤7:

我们将要实现的最后一个方法是closeBrowser()方法。 活动完成后,此方法将关闭浏览器。

closeBrowser()方法添加到我们的类中,并导出我们的InstagramBot

我们快完成了。 我们要做的下一件事是为我们的机器人创建一个入口点,在此我们将调用我们创建的每个方法。 最后一行代码只是按照配置文件中定义的时间间隔运行我们的机器人。 经常运行机器人会引起我们的注意。 因此,我们需要设置合理的时间。

为此,我们将在根文件夹ig-bot创建一个index.js文件,并添加以下行代码,如下所示:

既然我们已经完成了实现我们的机器人的程序,那就可以测试了。 我们将通过从根文件夹内的终端运行node index.js来实现此目的。

我们的机器人可以托管在远程服务器上。 如果有足够的反应,我们将在本文的第二部分中对此进行讨论。

结论

在本文中,我们已经成功构建了自己的Instagram机器人,该机器人可以进行基本的Instagram活动。 您始终可以克隆项目存储库。

我们可以做一些事情来为我们的机器人增加更多功能。

我们可以添加的其他功能:

  1. 从来源获取趋势标签,因此我们不必手动设置标签。
  2. 为我们的机器人增加访问探究页面(例如帖子和关注用户)的能力。
  3. 浏览每个帖子时,我们可以临时存储最近的3位用户,像浏览他们的图片并关注,然后这将增加我们获得更多关注者的机会。

好极了!! 🎊您成功了。

感谢您的阅读。 希望这已经足够详细了。

如果您喜欢本教程,请鼓掌

如果您喜欢本教程,请鼓掌