如何在沒有 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。 這些選項都可以通過最少的設置完成您希望它們完成的任務。 當然,它們有自己的優點和缺點,其中一些不是免費的,但這正是你需要研究的。
