Donlingerfelt wrote: > I would like to download stock quotes from the web, store them, do
> calculations and sort the results. However I am fairly new and don't have a
> clue how to parse the results of a web page download. I can get to the
> site, but do not know how to request the certain data need. Does anyone
> know how to do this? I would really appreciate it. Thanks.
i recently wrote a moinmoin macro which i believe does exactly what you want.
even though you aren't writing a moinmoin macro, all the stuff you need is here.
note that the string 'amzn,goog,yahoo' is passed in as the symbols variable and
is placed as-is onto the url. you will receive one .csv file from yahoo with
*all* the ticker info for all symbols you requested... very cool :) then for
each row in the csv file, i pull out each column (data) and set a red or green
color based on whether the stock is up or down for the day as well as providing
a link to the yahoo finance site (finance.google.com in my latest version) when
that symbol is clicked. and finally return an html table with the data.
i hope this helps you. i apologize in advance if this code doesn't come through
the newsgroup formatted properly.
def execute(macro, symbols):
color = 'black'
csv.reader(urllib.urlopen('http://finance.yahoo.com/d/quotes.csv?s=%s&f=sl1d1t1c1ohgv&e=.csv' % symbols))
data = 
for symbol, trade, date, time, change, opened, hi, low, volume in reader:
num = float(change)
if num > 0:
color = 'green'
elif num < 0:
color = 'red'
percent = 100 * float(change) / (float(trade) - float(change))
>%s</a></td><td><font color="%s">%s (%s / %.2f%%)</font></td></tr>' % (symbol, symbol, color, trade, change, percent))
return '<table>%s</table>' % ''.join(data)
return '%s: Stock information unavailable' % symbols