k33theod Δημοσ. 18 Μαρτίου 2016 Δημοσ. 18 Μαρτίου 2016 # Ένα μικρό tutorial - παράδειγμα της χρήσης της βιβλιοθήκης urllib.request της python. # Ο κώδικάς μου διαβάζει την τιμή του δείκτη NASDAK από τη σελίδα http://www.google.com/finance #και την παρουσιάζει σε ένα μικρό παράθυρο. # Κατ αρχήν ανοίγω την σελίδα που έχει την πληροφορία http://www.google.com/finance σε ένα #browser και με δεξί κλικ επιλέγω view page source # Ψάχνω με το μάτι την τιμή του nasdak που έχω δεί στη σελίδα, ίσως χρειάζεται λίγος χρόνος. #Βρήκα αυτή τη γραμμή <td class="bld"><span id="ref_13756934_l">4,799.28</span> # Το 4,799.28 αντιστοιχεί στην τιμή του nasdak στον browser # H τιμή του (id=)είναι μοναδική και θα την χρησιμοποιήσω για να πάρω το νούμερο που #περιέχεται μετά. # Ξεκινάω να γράφω τον κώδικα σε έναν editor # Εισάγω τις βιβλιοθήκες import urllib.request as rq #Την ονομάζω rq για να το γράφω γρήγορα from tkinter import * #ορίζω μία μεταβλητή με τιμή το id="ref_13756934_l"> προσοχή στα εισαγωγικά πρέπει #να χρησιμοποιήσω μονά γιατί διπλά έχω ήδη και έτσι το κάνω. id= 'id="ref_13756934_l">' #Υπολογίζω και το μήκος της id mikos=len(id) #Ανοίγω το url σε ένα αρχείο file=rq.urlopen('http://www.google.com/finance') #Το διαβάζω και του δίνω ένα όνομα data=file.read() #Το κάνω string γιατί ήρθε ως bytes data=str(data) #Βρίσκω που είναι το id a=data.find(id) #Διαβάζω μετά το a+mikos 8 χαρακτήρες (όσο είναι το 4,799.28) ο πρώτος είναι #a+mikos και ο τελευταίο a+mikos+7 nasdak=data[a+mikos:a+mikos+8]#H τιμή a+mikos+8 δεν συμπεριλαμβάνεται στο αποτέλεσμα #κλείνω την σύνδεση file.close() #Δημιουργώ το παράθυρο που θα μου δείχνει τον δείκτη nasdak win=Tk() win.title('Δείκτης NASDAK') #του δίνω διαστάσεις και το βάζω στην πάνω αριστερή γωνία της οθόνης win.geometry('250x100+1+1') #ορίζω το κείμενο που θα φένεται mytext='Nasdak:'+nasdak #δημιουργώ την ταμπέλα που θα μου δείχνει τον δείκτη nasdak_label=Label(win,text=mytext, font=('times', 20, 'bold'),bg='#f0fff0' ) #την βάζω στο παράθυρο nasdak_label.pack(expand=YES, fill=BOTH) #τρέχω το παράθυρο win.mainloop() #αποθηκεύω το αρχείο κατά προτίμηση με κατάληξη .pyw #εάν έχω κατάληξη στο όνομα αρχείου .pyw το τρέχω με διπλό κλικ ή στην γραμμή εντολών #και κοιτάω στην οθόνη επάνω αριστερά #Εάν κάποια στιγμή διαπιστώσω ότι το αρχείο μου δεν λειτουργεί ελέγχω πάλι #το site και τροποποιώ ανάλογα τον κώδικα Για να συνεχίσουμε τον καβγά στο καινόυργιο θέμα
anon667 Δημοσ. 18 Μαρτίου 2016 Δημοσ. 18 Μαρτίου 2016 Για να κάνεις πιο εύκολη την ζωή σου, χρησιμοποίησε το finance api από yahoo, τράβα τους δείκτες που σε ενδιαφέρουν και μετά απλά παίξε με json. Π.χ. για NASDAQ http://finance.yahoo.com/webservice/v1/symbols/%5EIXIC/quote?format=json
k33theod Δημοσ. 18 Μαρτίου 2016 Μέλος Δημοσ. 18 Μαρτίου 2016 Για να κάνεις πιο εύκολη την ζωή σου, χρησιμοποίησε το finance api από yahoo, τράβα τους δείκτες που σε ενδιαφέρουν και μετά απλά παίξε με json. Π.χ. για NASDAQ http://finance.yahoo.com/webservice/v1/symbols/%5EIXIC/quote?format=json Ο πίνακας είναι για να τραβάς τα δεδομένα? Δεν ξέρω πως γίνεται. Βασικά δεν το χρειάζομαι παράδειγμα ποστάρω. Mπορείς να τραβήξεις διάφορα στοιχεία από διάφορα site.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα