如何在没有 API 的情况下将 Instagram 照片添加到您的网站
已发表: 2019-09-01您过去可能遇到过包含大量 Instagram 帖子的网站,通常位于其主页的底部。 例如,这家英国摄影网站的主页底部有一个栏,上面有一堆平铺的 Instagram 照片。 如果您直接访问他们的 Instagram 提要,您会看到这是他们最近发布的帖子,以网格形式排列。 每当他们发布新内容时,新照片也会出现在他们的网站上。
这是将 Instagram 与以视觉为中心的网站集成的一种非常酷的方式。 你炫耀你最近的帖子,你有现成的链接到你的 Instagram 帐户,任何人都可以点击浏览。
这种设置很吸引人,可以很好地将您的网站访问者推荐给您的 Instagram 页面。 但是,设置实际上比您想象的要复杂。
Instagram API
现在,您可能会对我说“为什么不只使用其中一个可用的插件?” 答案通常是“继续前进”。 有很多插件可以为您提供这些提要显示选项,我将在本文末尾讨论它们。
这就是问题所在。 这些插件中的每一个都需要使用 Instagram API 来访问内容并提取数据以进行官方嵌入。 如果您不使用 API,则需要抓取页面,而抓取页面通常违反 Instagram 等网站的使用条款。 毕竟,他们不想与内容窃贼等打交道。
这并不是说它不会发生。 我敢肯定,您已经看到了几十个网站中的一些,这些网站除了抓取 Instagram 之外什么都不做。 Picdeer、Pictame 和 Piknow 等网站背后都有一段有趣的历史,所以让我暂时离题。
多年前,Instagram 只是一个移动平台。 除了直接通过 Instagram 应用程序之外,没有其他方法可以访问它。 这意味着桌面平台无法使用该站点,并且在很大程度上限制了业务访问。
由于许多人想在不使用移动设备或移动应用程序的情况下访问 Instagram 提要,因此这些网站如雨后春笋般涌现。 他们所做的只是抓取 Instagram 帖子并公开展示。
最终,Instagram 使他们的网络对桌面可见,尽管您仍然可以采取的某些形式的行动受到限制。 例如,目前您不能从桌面发帖。

这些网站都没有得到官方支持,也没有一个使用 Instagram API。 他们所做的只是使用自定义应用程序抓取内容。 现在,Instagram 不喜欢这些,公开他们的平台有助于对抗它们。 许多人在一夜之间死去,但有些仍然存在,比如上面提到的那些,增加了一些额外的功能。 他们可能有不同类型的内容搜索,或者浏览和发现新内容的方式,或者可能只是显示内容的独特方式。 关键是,他们被迫提供增值服务,而不仅仅是抓取要显示的内容。
这一切基本上只是为了说明一个观点。 虽然从技术上讲,抓取可能违反了 Instagram 的服务条款,但他们并没有真正对这样做的网站进行大量起诉或以其他方式采取行动。 由于我在下面为您提供的一些选项涉及此类手动抓取,您可以了解为什么它可能是一个问题。
不过,回到主要问题。 为什么不只使用这些插件之一? 嗯,Instagram API 是一个善变的情妇。 事实上,就在 2018 年 12 月,Instagram 对其 API 进行了重大更改并弃用了旧版本。 看到本页顶部的大免责声明/警告? 这就是使用 API 的所有警告品牌。

现在,您找到的用于显示 Instagram 提要的插件依赖于 Instagram API 或抓取。 如果 Instagram 对爬虫采取行动,这些插件就会死掉。 如果 Instagram 大幅改变他们的 API,那些插件就会死掉。 无论哪种方式,您都依赖第三方来使他们的代码适应 Instagram 所做的任何更改,这可能是不可靠的。
稍后我仍会列出一些插件,因为它们已经证明它们可以保持最新状态,并且即使在 Instagram 发生变化时也能正常工作。 但是,请记住,另一种解决方案可能对您有用。
这些插件可能出现问题的另一个原因是它们是否需要您的API 访问权限而不是他们自己的访问权限。 有些人使用您的 API 访问权限来绕过速率限制; 他们通过每个人的 API 访问来获取内容,而不是一个可能会不堪重负的集中式访问。 这里的问题是,如果您的 API 访问权限因某种原因被撤销,您将无法继续使用这些插件。
如果您仍然有兴趣在您的网站上显示您的 Instagram 内容 - 而且您应该这样做,它非常有用且非常酷 - 这里是您的选择。
选项1:伪造它
您的第一个选择是通过大量手动工作来伪造它。 这并不难,但可能会很耗时,如果您想在您的 Instagram 帐户和您的网站“嵌入”之间保持平等,您必须这样做。 我在这里将嵌入放在吓人的引号中,因为它们甚至不是技术嵌入。

那么这种方法是如何工作的呢? 好吧,您可能正在用数码相机拍照并在计算机上对其进行编辑,然后再将它们上传到您的移动设备以在 Instagram 上发布。 在编辑它们时,制作两份副本。 一份副本将照常上传到 Instagram。 另一个副本将上传到您的虚拟主机上。
当您将内容发布到 Instagram 时,您将创建一个 Instagram 帖子。 这有您的标题、永久链接以及与之相关的其他信息。 制作并发布该帖子。

现在转到您的网站并创建一个您希望 Instagram 内容所在的网格。 将您的照片上传到您的网络主机并将其嵌入到网格的其中一个单元格中。 将固定链接复制到 Instagram 帖子,并将照片设为链接。 如果您想要使用悬停脚本来显示图像标题的东西,则需要更多编码,但您也可以复制和粘贴标题。
此选项有两个主要缺点。 首先是这需要时间,而且您需要记住对您在 Instagram 上发布的每张图片执行的操作。 如果您忘记将图片上传到您的网站,将所有图片移到网格下方,然后将新图片添加到第一个位置,您的提要最终看起来会有所不同。
第二个主要缺点是它占用了您的主机空间。 使用 Instagram API 访问或抓取的好处是图像仍然托管在 Facebook CDN 上,这意味着它们可以快速加载,而无需占用您自己的服务器资源。 这个假嵌入选项没有这个好处。
选项 2:手动嵌入
第二个可能的选择是使用来自 Instagram 的一些自定义代码和手动嵌入。 每个 Instagram 帖子都可以选择嵌入它。 点击帖子,点击标题右上角的三个点,嵌入其中一个选项。 这会复制一些冗长的代码,并使用 Instagram API。 这里的主要好处是,尽管使用了 API,但它是 Instagram 的核心功能,不太可能改变。 当 Instagram 进行 API 更改时,他们会确保自己的服务不受影响。

当您在自己的网站上嵌入帖子时,它通常以全尺寸显示并带有帖子的标题,但如果您愿意,您可以告诉它不要包含标题。 这显然不适合包含多个图像的小网格。 为了以这种方式显示它,您需要使用一些自定义代码来缩小和定位图像。
这基本上是一个手册,跳过使用第三方插件的方式创建网格的箍方法。 它在 Instagram 上托管每个帖子,但它需要自定义代码,而且它是一种 janky 解决方案。 每次要添加新帖子时,您仍然需要手动将帖子向下移动,并且您仍然需要手动获取每个帖子的嵌入代码。 另外,在同一个地方添加许多嵌入可能会显着增加您的加载时间。 总的来说,这并不是最好的选择。
选项 3:使用第三方刮刀
正如我之前提到的,Instagram 并不一定很难抓取。 您可以使用第三方抓取服务向您提供数据,然后您可以以您选择的任何方式格式化并嵌入您的网站。
例如,Feedity 就是这样的第三方爬虫服务之一。 这使您可以在其自定义刮板界面中加载网页,并选择您希望它查找并在更改时刮取的数据。 在这种情况下,Feedity 专门将该数据格式化为 RSS 提要。

然后,您可以使用该 RSS 提要在您的页面上嵌入内容。 根据您的网站设计,您可以通过几种不同的方式执行此操作。 当您的网站使用 WordPress 架构时,这是一个获取 RSS 提要并在您的网站上嵌入内容和图像的教程。 同时,本教程使用简单的 HTML 和 PHP 编码来为更传统的网站设计做同样的事情。
由于某些原因,此选项略不理想。 首先,它需要为您的网站进行大量自定义编码。 如果您没有自己编码的经验,您将需要聘请开发人员,这可能会很昂贵。
此外,您依靠第三方服务为您进行抓取,并且您依靠它在 Instagram 上工作——这很棘手——并且您依靠 Instagram 不改变他们的网站设计来阻止那些确切的抓取尝试。 事实是,Instagram 不喜欢爬虫,虽然它们并没有真正单独追踪它们,但它们确实让它们的生活变得艰难。
选项 4:创建自定义刮板
当然,刮擦并不是那么难设置。 由于存在不同的抓取解决方案,抓取似乎很难,但他们都试图“一刀切”地将他们的服务作为一项业务来销售。 如果您只想自己抓取一些东西,那么您的代码可能会简单得多。 然后,您可以简单地创建一些代码来每天抓取一次 Instagram 或其他任何方式,以您喜欢的任何方式格式化数据,并设置您自己的自定义嵌入。

与其他一些选项一样,这需要大量的个人编码或开发人员时间,这并不理想。 如果你喜欢编码,你可以自己做,但如果你不是粉丝,你将需要为开发人员付费。 您还必须应对 Instagram 更改他们的网站并使其更难抓取,这种情况每隔几个月就会定期发生。 如果你愿意与之抗衡,那就去吧。 否则,请考虑不同的选择。
选项 5:使用插件
我知道我之前已经讨论了为什么你不应该使用插件的原因,但你仍然可以考虑它。 一些插件擅长跟上变化,不需要你的 API 来运行,而且设置起来很简单。

考虑以下选择:EmbedSocial、Juicer、SnapWidget 和 Elfsight。 这些选项都可以通过最少的设置完成您希望它们完成的任务。 当然,它们有自己的优点和缺点,其中一些不是免费的,但这正是你需要研究的。
