Εμφάνιση 1-3 από 3
  1. #1
    Εγγραφή
    25-07-2006
    Περιοχή
    Edenoi
    Ηλικία
    38
    Μηνύματα
    4.845
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    17104 down / 1022 up
    ISP
    Vodafone
    Router
    TD-W8960N V8
    SNR / Attn
    5.8(dB) / 21(dB)
    Path Level
    Interleaved
    Χαιρετώ την παρέα,

    μαθαίνω Python και σκέφτομαι να επεκτείνω τις γνώσεις μου σε Pandas, Numpy, Matplotlib.

    Σκεφτόμουν να βρω κάποια δεδομένα για να μπορώ να τα αξιοποιήσω μέσω αυτών των βιβλιοθηκών ώστε παράλληλα να μαθαίνω κιόλας. Ψάχνοντας από δω και από εκεί για open data, έπεσα στην σελίδα https://data.gov.gr/. Έκανα εγγραφή και πήρα ένα API Token. Για αρχή είπα να δοκιμάσω να τραβήξω δεδομένα για το επιβατικό κοινό στον ΟΑΣΑ. Δεξιά έχει ένα πράσινο κουμπάκι το οποίο πατώντας το σου δείνει μεταξύ άλλων και έτοιμο κώδικα σε python για να τραβήξεις τα δεδομένα που θέλεις μέσω Python χρησιμοποιώντας την βιβλιοθήκη responses.

    Το πρόβλημα που έχω είναι ότι το script που δίνει η ίδια η σελίδα αν και απλό δεν λειτουργεί πολύ σωστά. Συγκεκριμένα επιχειρεί να κατεβάσει όλα τα δεδομένα από όλη την χρονική περίοδο, δηλαδή κάπου για 4 χρόνια. Η διαδικασία σταματάει άμεσα και μου βγάζει μήνυμα να επιλέξω μικρότερο χρονικό όριο. Το παράδειγμα που δίνει δεν διευκρινίζει πως να επιλέξουμε χρονικό όριο, στο ίντερνετ ότι πληροφορίες βρήκα δεν βοήθησαν, το Copilot πρότεινε κάποιες λύσεις οι οποίες επίσης δεν βοήθησαν, και δεν έχω την παραμικρή ιδέα για το πως λειτουργεί γενικά η βιβλιοθήκη responses για να κάνω δοκιμές.

    Επίσης ασχέτως από το συγκεκριμένα παράδειγμα, ενδεχομένως να θέλω να αξιοποιήσω την Python και τις βιβλιοθήκες που προανέφερα για να τραβήξω δεδομένα και από αλλού, οπότε ίσως θα ήταν καλό να βρεθεί το πως μπορούμε να τραβήξουμε δεδομένα για custom χρονική περίοδο. Έχει κανείς καμιά ιδέα;

    Να σημειώσω ότι το copilot μου πρότεινε κάποιες λύσεις, να βάλω είτε στο headers είτε στο params του presponses.get κάποιες μεταβλητές σαν 'startDate', 'endDate' ή start_date, end_date και διάφορους άλλους συνδυασμούς και δεν δούλεψε τίποτα, οπότε μήπως κάποιος ποιο έμπειρος προγραμματιστής σε APIs μήπως γνωρίζει κάτι παραπάνω; Κάθε πληροφορία δεκτή.

    Να σημειώσω ότι έχω τραβήξει δεδομένα από εδώ χωρίς κανένα πρόβλημα καθώς δεν διαθέτει κανένα χρονικό περιορισμό οπότε μπορώ να χρησιμοποιήσω το script ως έχει χωρίς να χρειάζεται να ψάξω τι switches να βάλω στο headers για να λειτουργήσει για το χρονικό όριο.
    Τελευταία επεξεργασία από το μέλος goku : 04-10-24 στις 11:23.
    My adslgr.com account password is the last 7 digits of π. No hackers so far.
    Hello, I'm Death. You may be familiar with my Blue Screen.

  2. #2
    Εγγραφή
    13-11-2011
    Περιοχή
    Χολαργός
    Ηλικία
    38
    Μηνύματα
    1.482
    Downloads
    1
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    24000 / 4500
    ISP
    Wind
    DSLAM
    Wind - ΧΟΛΑΡΓΟΣ
    Path Level
    Interleaved
    Δοκίμασε να βάλεις σαν Query Parameters τα date_from και date_to με format YYYY-MM-DD.

    Δεν ξέρω αν υπάρχει επίσημο documentation αλλά αυτές περνάει η javascript που τρέχει στον browser και αυτές χρησιμοποιεί και η βιβλιοθήκη pydatagovgr.

  3. #3
    Εγγραφή
    25-07-2006
    Περιοχή
    Edenoi
    Ηλικία
    38
    Μηνύματα
    4.845
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    17104 down / 1022 up
    ISP
    Vodafone
    Router
    TD-W8960N V8
    SNR / Attn
    5.8(dB) / 21(dB)
    Path Level
    Interleaved
    Παράθεση Αρχικό μήνυμα από MitsakosGR Εμφάνιση μηνυμάτων
    Δοκίμασε να βάλεις σαν Query Parameters τα date_from και date_to με format YYYY-MM-DD.

    Δεν ξέρω αν υπάρχει επίσημο documentation αλλά αυτές περνάει η javascript που τρέχει στον browser και αυτές χρησιμοποιεί και η βιβλιοθήκη pydatagovgr.
    Ρε φίλε τι είπες τώρα; είχα δοκιμάσει διάφορους συνδυασμούς και δεν δούλευε κανένας. Τον συγκεκριμένο συνδυασμό τον δοκίμασα και δουλεύει, αυτό ήταν. Το πάλευα 2 μέρες, είχα χάσει τον ύπνο μου. Κατάφερα και πήρα δεδομένα για μικρή χρονική περίοδο και να τα κάνω dump σε αρχείο json για περεταίρω επεξεργασία εκ των υστέρων. Πρέπει κάποια στιγμή να καθίσω να μάθω για τα APIs και την βιβλιοθήκη responses.

    Τώρα αντιμετωπίζω άλλο πρόβλημα καθώς τις ονομασίες των στάσεων τις έχει στα Ελληνικά και τις εμφανίζει κάπως έτσι "\u03a3\u03a5\u039dT\u0391\u0393\u039c\u0391", υποθέτω ότι πρέπει να βρω τι encoding είναι και να το ορίσω σωστά, οπότε συνεχίζω το ψάξιμο.

    - - - Updated - - -

    Βρέθηκε και η λύση στο encoding, χρησιμοποιώντας encoding='utf-8' στις παραμέτρους της βιβλιοθήκης responses και κάνοντας εκτύπωση απευθείας στο terminal, χωρίς αποθήκευση σε αρχείο, τότε μου τα τυπώνει σωστά. Είχα πρόβλημα στην αποθήκευση σε αρχείο, οπότε στο άνοιγμα του αρχείου για εγγραφή όρισα ότι πρέπει να είναι utf-8 και όταν κάνω json.dump όρισα ότι οι χαρακτήρες δεν είναι ASCII, χρησιμοποιώντας τα αντίστοιχα switches.
    My adslgr.com account password is the last 7 digits of π. No hackers so far.
    Hello, I'm Death. You may be familiar with my Blue Screen.

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας