Shell script would be a better option. Chances are you would turn to shell in AppleScript anyhow, so why not just use shell?
You can however, combine shell with AppleScript. Here is an example:
Shell script to grab current conditions
Code:
#!/bin/bash
curl "http://weather.yahooapis.com/forecastrss?p=USIL0113&u=f" | grep -E '(Current Conditions:|F<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'
AppleScript that calls the shell script and using say to speak the conditions using the Fred voice
Code:
set currentConditions to do shell script "~/bin/custom/weather/scripts/conditions.sh"
say currentConditions using "Fred"
The reason for calling a separate shell script is because escaping all of that in AppleScript is a pain.