Any of the technologies you mentioned could get the job done with varying degrees of work and performance.
I personally find myself following a different route based on pieces I have built. First you must know that I wrote Bitlash, an interpreter for Arduino, and so I think in terms of sending Bitlash commands from the PC to control things on the Arduino side. The idea is similar to what TanHadron suggests. So I usually start with Bitlash on the Arduino side, at least for prototyping. (More at
http://bitlash.net)
Then I wrote an app called Bitlash Commander to control the Arduino from the PC by sending commands from a web browser. This is kind of like the program you will need, to fetch weather data and send it over the serial link. (More at
https://github.com/billroy/bitlash-commander)
Commander is a "node.js" app, written in javascript. There is a big ecosystem of node.js modules (not unlike perl modules or arduino libraries) that make it easy to drop in big chunks of functionality like reading and parsing web pages.
If I had to start on your problem today I'd probably work up a little node.js script similar to Commander to do the weather API fetching, parsing, and serial transmission. Plus a web control panel for the display...
Whatever you're comfortable with, right?
-br