Inside ConveyThis Технология: создание краулера нашего веб-сайта

Сделайте свой сайт многоязычным за 5 минут
Передать это демо
Передать это демо
My Khanh Pham

My Khanh Pham

Улучшение пользовательского опыта: ConveyThis Представляет управление URL-адресами.

Многочисленные посетители ConveyThis предпочитают, чтобы все URL-адреса их веб-сайтов были правильно переведены, что может оказаться сложной задачей, особенно для обширные сайты, переведенные на несколько языков.

Отзывы пользователей показали, что некоторые клиенты сочли начало своих первоначальных проектов по переводу веб-сайтов несколько обескураживающим. Они часто задавались вопросом, почему они могут просматривать только URL-адрес домашней страницы в списке переводов и как создавать переводы своего контента.

Это указывало на потенциальную область для улучшения. Мы увидели возможность упростить процесс адаптации и повысить эффективность управления проектами. Однако в тот момент у нас не было конкретного решения.

Результатом, как вы могли догадаться, стало появление функции управления URL-адресами. Оно позволяет пользователям быстро и эффективно сканировать URL-адреса своих веб-сайтов и генерировать переведенный контент с помощью ConveyThis. .

Недавно эта функция была перемещена из списка переводов на новую, более адаптируемую и мощную страницу управления переводами на основе URL. Теперь мы считаем, что пришло время раскрыть историю создания этой функции.

921

Использование Golang: ConveyThis 'Путешествие к расширенным услугам перевода

922

Начало карантина 2020 года из-за пандемии дало мне возможность наконец-то выучить язык программирования Golang, который был отложен из-за нехватки времени.

Разработанный Google, Golang или Go в последние годы набирает популярность. Статически компилируемый язык программирования, Golang был разработан, чтобы позволить разработчикам создавать эффективный, надежный и параллельный код. Его простота позволяет писать и поддерживать обширные и сложные программы без ущерба для скорости.

Обдумывая потенциальный побочный проект по ознакомлению с Golang, на ум пришел веб-сканер. Он соответствовал упомянутым критериям и потенциально предлагал решение для ConveyThis пользователей. Веб-сканер или «бот» — это программа, которая посещает веб-сайт для извлечения данных.

Для ConveyThis нашей целью было разработать инструмент, позволяющий пользователям сканировать свой сайт и получать все URL-адреса. Кроме того, мы хотели упростить процесс создания переводов. В настоящее время пользователи должны посещать свои веб-сайты на переведенном языке, чтобы создать их, и эта задача становится сложной для больших многоязычных сайтов.

Хотя первоначальный прототип был простым — программа, которая принимает URL-адрес в качестве входных данных и начинает сканировать сайт — он оказался быстрым и эффективным. Алекс, ConveyThis' Технический директор увидел потенциал этого решения и дал добро на исследования и разработки для уточнения концепции и обдумывания того, как разместить будущую производственную службу.

Навигация по бессерверной тенденции с помощью Go и ConveyThis

В процессе доработки бота веб-краулера мы столкнулись с нюансами различных CMS и интеграций. Тогда возник вопрос — как мы можем лучше всего представить нашим пользователям бота?

Изначально мы рассматривали проверенный подход использования AWS с интерфейсом веб-сервера. Однако возникло несколько потенциальных проблем. У нас была неопределенность в отношении нагрузки на сервер, одновременного использования несколькими пользователями и отсутствия опыта работы с хостингом программ Go.

Это побудило нас рассмотреть сценарий бессерверного хостинга. Это давало такие преимущества, как управление инфраструктурой со стороны провайдера и присущую масштабируемость, что делало его идеальным решением для ConveyThis. Это означало, что нам не нужно было беспокоиться о мощности сервера, поскольку каждый запрос выполнялся в своем собственном изолированном контейнере.

Однако еще в 2020 году для бессерверных вычислений было установлено ограничение в 5 минут. Это оказалось проблемой для нашего бота, который потенциально может потребоваться для сканирования больших сайтов электронной коммерции с большим количеством страниц. К счастью, в начале 2020 года AWS увеличил ограничение до 15 минут, хотя включение этой функции оказалось сложной задачей. В конце концов мы нашли решение, запустив бессерверный код с помощью SQS — службы очередей сообщений AWS.

923

Путешествие к интерактивному общению с ботами в реальном времени с номером ConveyThis

924

Когда мы решили дилемму с хостингом, нам нужно было преодолеть еще одно препятствие. Теперь у нас был функциональный бот, размещенный эффективным и масштабируемым образом. Оставшейся задачей было передать сгенерированные ботом данные нашим пользователям.

Стремясь к максимальной интерактивности, я решил установить связь между ботом и панелью управления ConveyThis в режиме реального времени. Хотя работа в режиме реального времени не является обязательным требованием для такой функции, я хотел, чтобы наши пользователи получали немедленную обратную связь, как только бот начнет работать.

Для этого мы разработали простой сервер веб-сокетов Node.js, размещенный на экземпляре AWS EC2. Это потребовало некоторых настроек бота для связи с сервером веб-сокетов и автоматизации развертывания. После тщательного тестирования мы были готовы перейти к производству.

То, что начиналось как побочный проект, в конечном итоге нашло свое место в приборной панели. Благодаря испытаниям я приобрел знания в Go и отточил свои навыки в среде AWS. Я нашел Go особенно полезным для сетевых задач, совместного программирования и бессерверных вычислений, учитывая его малый объем памяти.

У нас есть планы на будущее, поскольку бот открывает новые возможности. Мы стремимся переписать наш инструмент подсчета слов для повышения эффективности и, возможно, использовать его для разогрева кэша. Надеюсь, вам понравился этот краткий обзор мира технологий ConveyThis так же, как мне понравилось делиться им.

Готовы начать?

Перевод — это гораздо больше, чем просто знание языков, это сложный процесс.

Следуя нашим советам и используя ConveyThis, ваши переведенные страницы будут резонировать с вашей аудиторией, чувствуя себя родными для язык перевода.

Хотя это требует усилий, результат будет вознагражден. Если вы переводите веб-сайт, ConveyThis поможет вам сэкономить часы с помощью автоматического машинного перевода.

Попробуйте ConveyThis бесплатно в течение 7 дней!

градиент 2