How It Works (TL;DR edition)
The entire system operates via a Selenium script (coordinated by Jenkins) that injects JavaScript and CSS into a randomly selected wikipedia page. Selenium then takes a screenshot and uploads the result to Twitter.
Wordstellations is a twitter bot that draws word constellations using frequent words on astronomy related wikipedia pages.
This experiment is no longer active. The "server" that was running this bot tried to burn my apartment down.
The entire system operates via a Selenium script (coordinated by Jenkins) that injects JavaScript and CSS into a randomly selected wikipedia page. Selenium then takes a screenshot and uploads the result to Twitter.
Using a script, I scraped a list of 88 modern constellations as well as a few other manual selections. Here's the final list of 96 pages that the bot has to choose from:
Andromeda, Antlia, Apus, Aquarius, Aquila, Ara, Aries, Asterism (astronomy), Astrology, Auriga, Boötes, Caelum, Camelopardalis, Cancer, Canes Venatici, Canis Major, Canis Minor, Capricornus, Carina, Cassiopeia, Centaurus, Cepheus, Cetus, Chamaeleon, Circinus, Columba, Coma Berenices, Constellation, Corona Australis, Corona Borealis, Corvus, Crater, Crux, Cygnus, Delphinus, Dorado, Draco, Equuleus, Eridanus, Fornax, Gemini, Grus, Hercules, Horologium, Hydra, Hydrus, Indus, Lacerta, Leo, Leo Minor, Lepus, Libra, Lupus, Lynx, Lyra, Mensa, Meteorology, Microscopium, Milky Way, Monoceros, Musca, Norma, Octans, Ophiuchus, Orion's Belt, Orion, Pavo, Pegasus, Perseus, Phoenix, Pictor, Pisces, Piscis Austrinus, Puppis, Pyxis, Reticulum, Sagitta, Sagittarius, Scorpius, Sculptor, Scutum, Serpens, Sextans, Star formation, Summer Triangle, Taurus, Telescopium, Triangulum, Triangulum Australe, Tucana, Ursa Major, Ursa Minor, Vela, Virgo, Volans, Vulpecula
Once a random page is selected, Selenium then opens a Chrome instance and inject a series of scripts into the page. The first being one which determines which words would make a good constellation.
Any less than 250 word instances and the words would likely be spaced too far apart for the constellations to look pretty.
Next Selenium injects another script that when given a list of words:
From here on the script actually starts injecting HTML and CSS into the page.
The last step is to tell Selenium to take a screen shot and then upload the result Twitter.
‘trianguli’, ‘that’, ‘triangulum’, ‘jump’, ‘with’, ‘constellation’, ‘2013’… http://t.co/H72XNuSnz7 pic.twitter.com/zg2ZOVA82U
— wordstellations (@wordstellations) April 19, 2015