内部 ConveyThis 技术:构建我们的网站爬虫

在 5 分钟内让您的网站多语言化
传达这个演示
传达这个演示
My Khanh Pham

My Khanh Pham

改善用户体验:ConveyThis 引入 URL 管理

许多ConveyThis顾客希望他们网站的所有 URL 都能得到正确的翻译,这可能是一项艰巨的任务,尤其是对于翻译成多种语言的大型网站而言。

用户反馈表明,一些客户发现他们最初的网站翻译项目的开始有些令人困惑。他们经常质疑为什么只能在翻译列表中查看主页 URL,以及如何为其内容创建翻译。

这表明了一个潜在的增强领域。我们看到了促进更顺畅的入职流程和更高效的项目管理的机会。然而,我们当时缺乏具体的解决方案。

您可能已经猜到了,结果就是引入了 URL 管理功能。它使用户能够通过 ConveyThis 仪表板快速有效地扫描其网站的 URL 并生成其翻译内容。

最近,此功能已从翻译列表迁移到新的、适应性更强、功能更强大的基于 URL 的翻译管理页面。现在,我们认为是时候揭晓该功能诞生背后的故事了。

921

拥抱 Golang:ConveyThis 增强翻译服务之旅

922

2020 年因疫情而封锁的开始,让我终于有机会学习因时间限制而被搁置的编程语言 Golang。

由 Google 开发的 Golang 或 Go 近年来越来越受欢迎。 Golang 是一种静态编译的编程语言,旨在帮助开发人员编写高效、可靠和并发的代码。它的简单性支持在不牺牲速度的情况下编写和维护大量复杂的程序。

在考虑一个潜在的业余项目来熟悉 Golang 时,我想到了一个网络爬虫。它符合上述标准,并可能为 ConveyThis 位用户提供解决方案。网络爬虫或“机器人”是一种访问网站以提取数据的程序。

对于 ConveyThis,我们的目标是开发一种工具,让用户扫描他们的网站并检索所有 URL。此外,我们希望简化生成翻译的过程。目前,用户必须访问翻译语言的网站才能生成翻译,对于大型、多语言网站来说,这项任务非常艰巨。

尽管最初的原型很简单——一个以 URL 作为输入并开始抓取网站的程序——但它快速而有效。ConveyThis 的 CTO Alex 看到了这个解决方案的潜力,并批准进行研究和开发以完善概念并考虑如何托管未来的生产服务。

使用 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