內部 ConveyThis 技術:建立我們的網站爬蟲

在 5 分鐘內讓您的網站多語言化
傳達這個演示
傳達這個演示
My Khanh Pham

My Khanh Pham

改善使用者體驗:ConveyThis 引進 URL 管理

許多ConveyThis 訂閱者更喜歡正確翻譯其網站的所有網址,這可能是一項巨大的任務,尤其是對於廣泛的網站被翻譯成多種語言。

用戶反饋表明,一些客戶發現他們最初的網站翻譯項目的開始有些令人困惑。他們經常質疑為什麼只能在翻譯列表中查看主頁 URL,以及如何為其內容創建翻譯。

這表明了一個潛在的增強領域。我們看到了促進更順暢的入職流程和更高效的項目管理的機會。然而,我們當時缺乏具體的解決方案。

正如您可能已經猜測的那樣,結果是引入了 URL 管理功能。它使用戶能夠掃描其網站的網址,並透過 ConveyThis 儀表板快速有效地產生翻譯。

最近,此功能已從翻譯列表遷移到新的、適應性更強、功能更強大的基於 URL 的翻譯管理頁面。現在,我們認為是時候揭曉該功能誕生背後的故事了。

921

擁抱 Golang:ConveyThis' 增強翻譯服務之旅

922

2020 年因疫情而封鎖的開始,讓我終於有機會學習因時間限製而被擱置的編程語言 Golang。

由 Google 開發的 Golang 或 Go 近年來越來越受歡迎。 Golang 是一種靜態編譯的編程語言,旨在幫助開發人員編寫高效、可靠和並發的代碼。它的簡單性支持在不犧牲速度的情況下編寫和維護大量複雜的程序。

在考慮一個潛在的副項目來熟悉 Golang 時,我的腦海中浮現出一個網路爬蟲。它符合上述標準,並可能為 ConveyThis 用戶提供解決方案。網路爬蟲或「機器人」是一種訪問網站以提取資料的程式。

對於 ConveyThis,我們的目標是開發一個工具,供使用者掃描其網站並檢索所有 URL。此外,我們希望簡化生成翻譯的過程。目前,用戶必須以翻譯語言訪問他們的網站才能產生它們,對於大型多語言網站來說,這項任務變得令人畏懼。

儘管最初的原型很簡單——一個以 URL 作為輸入並開始抓取網站的程式——但它快速而有效。 Alex(ConveyThis)首席技術長看到了該解決方案的潛力,並批准進行研發以完善概念並思考如何託管未來的生產服務。

使用 Go 和 ConveyThis 引領無伺服器趨勢

在最終確定網絡爬蟲機器人的過程中,我們發現自己正在努力解決不同 CMS 和集成的細微差別。那麼問題就出現了——我們如何才能最好地向用戶展示機器人?

最初,我們考慮了通過 Web 服務器接口使用 AWS 的經過嘗試和測試的方法。然而,出現了一些潛在的問題。我們對服務器負載、多個用戶同時使用以及缺乏 Go 程序託管經驗存在不確定性。

這促使我們考慮無伺服器託管場景。這提供了諸如由供應商進行基礎設施管理和固有的可擴展性等優勢,使其成為ConveyThis 的理想解決方案。中運行。

然而,早在 2020 年,無服務器計算就有 5 分鐘的限制。這對我們的機器人來說是一個問題,它可能需要爬行具有大量頁面的大型電子商務網站。幸運的是,2020 年初,AWS 將限制延長至 15 分鐘,儘管事實證明啟用此功能是一項具有挑戰性的任務。最終,我們通過使用 SQS(AWS 消息隊列服務)觸發無服務器代碼找到了解決方案。

923

與 ConveyThis 進行互動式即時機器人通訊之旅

924

當我們解決了託管困境時,我們還有另一個障礙需要克服。我們現在有了一個功能性機器人,以高效、可擴展的方式託管。剩下的任務是將機器人生成的數據轉發給我們的用戶。

為了實現最大程度的互動性,我決定在機器人和 ConveyThis 儀表板之間進行即時通訊。雖然即時性並不是此類功能的要求,但我希望我們的用戶在機器人開始工作後立即獲得回饋。

為了實現這一目標,我們開發了一個簡單的 Node.js Websocket 服務器,託管在 AWS EC2 實例上。這需要對機器人進行一些調整,以便與 websocket 服務器通信並自動部署。經過徹底的測試後,我們已準備好過渡到生產。

最初作為一個副項目最終在儀表板中找到了自己的位置。通過這些挑戰,我獲得了 Go 方面的知識,並在 AWS 環境中磨練了自己的技能。我發現 Go 特別有利於網絡任務、協作編程和無服務器計算,因為它的內存佔用很小。

隨著機器人帶來新的機遇,我們有未來的計畫。我們的目標是重寫我們的字數統計工具以提高效率,並可能將其用於快取預熱。我希望您喜歡這個 ConveyThis 的科技世界,就像我喜歡分享它一樣。

準備好開始了嗎?

翻譯不僅僅是了解語言,它是一個複雜的過程。

透過遵循我們的提示並使用ConveyThis,您的翻譯後的頁面將與您的受眾產生共鳴,讓您有賓至如歸的感覺目標語言。

雖然需要付出努力,但結果是有益的。如果您要翻譯網站,ConveyThis 可以透過自動機器翻譯節省您的時間。

免費試用 ConveyThis 7 天!

梯度 2