Per integrare dati esterni in Discourse, è probabile che tu abbia bisogno di un plugin per farlo correttamente, in modo da poter memorizzare i dati sul server e programmare gli aggiornamenti, evitando di delegare questa operazione al client, che rallenterebbe notevolmente il caricamento delle pagine.
Ti consiglio di iniziare studiando come scrivere plugin: Developing Discourse Plugins - Part 1 - Create a basic plugin
È molto utile conoscere il sistema di tematiche: Developing Discourse Themes & Theme Components
Il sistema dei widget: A tour of how the Widget (Virtual DOM) code in Discourse works
L’API di Wordpress, se il tuo sito sorgente è basato su Wordpress: REST API Handbook | Developer.WordPress.org
Nokogiri per lo scraping: https://nokogiri.org/