Originariamente inviato da Dennis
una curiosità OT per lnessuno: dove li vai a prendere i dati?

yahoo


ho già uno script in python che lo fa, anche se per ora li stampa solo a terminale... era una cosa che mi ero fatto io per comodità e per provare come funziona il python, quindi così com'è non andrebbe bene per quello che mi serve. sarebbe una base di partenza diciamo

codice:
#!/usr/bin/env python

import string, urllib
from time import strftime

html=urllib.urlopen("http://it.finance.yahoo.com/q?s=@^mib30&d=v2").readlines()

print ("\n             Mib 30 --- Giorno "+strftime("%d/%m/%Y")+"\n")
print ("Simbolo\t Valore\tVariaz\tOscillazione\t      Nome completo\n")

for i in range(80,141):
	inizio = html[i].find('<a href="/q?s=')
	if inizio > 0:
	
		inizio += html[i][inizio:].find(">") + 1
		fine = inizio + html[i][inizio:].find("<")
		simbolo = html[i][inizio:fine]

		inizio = html[i].find(' border')
		inizio += html[i][inizio:].find(">") +1
		fine = inizio + html[i][inizio:].find("<")
		trattaz = html[i][inizio:fine]

		inizio = html[i].find('</a></font></td><td nowrap align=left><font face=arial size=-1>')
		inizio += html[i][inizio:].find("1") + 2
		fine = inizio + html[i][inizio:].find("<")
		nome = html[i][inizio:fine]

		inizio = html[i].find('<font color=')
		inizio += html[i][inizio:].find("%") - 5
		fine = inizio + html[i][inizio:].find("%") +1
		variaz = html[i][inizio:fine]
		if variaz ==  "":
			variaz = "------"

		inizio = html[i].find('size=-1>')
		inizio += html[i][inizio:].find(" - ") - 10
		inizio += html[i][inizio:].find(">") +1
		fine = inizio + html[i][inizio:].find("<")
		perc = html[i][inizio:fine]

		print (simbolo+"\t "+trattaz+"\t"+variaz+"\t"+perc+"\t      "+nome)
print ("")