Παρακάτω θα δούμε πως μπορούμε να πάρουμε δεδομένα από μια ιστοσελίδα (Web scraping) και κατόπιν να τα αναλύσουμε και να βγάλουμε στατιστικά συμπεράσματα χρησιμοποιώντας την γλώσσα προγραμματισμού Python.
Δε θα μπω στην διαδικασία επεξήγησης του κώδικα, τα script είναι έτοιμα και διατίθενται δωρεάν στο GitHub και μπορεί να τα χρησιμοποιήσει ο καθένας ή να τα παραμετροποιήσει κατά το δοκούν!
Τι είναι το Web scraping;
Με τον όρο Web scraping εννοούμε την εξαγωγή δεδομένων από έναν ιστότοπο χρησιμοποιώντας ένα πρόγραμμα λογισμικού. Υπάρχουν πολλά προγράμματα αυτού του τύπου, όπως το ScrapeStorm που κάνει πολύ καλή δουλειά, αλλά δεν είναι δωρεάν.. Με τη δωρεάν έκδοση μπορείς να το χρησιμοποιήσεις μόνο μια φορά τη μέρα και μπορεί να σου εξάγει μόνο 100 γραμμές ενός πίνακα τη φορά. Αλλιώς πρέπει να πληρώσεις περίπου 50€ τον μήνα για να έχεις πλήρη λειτουργία! Εννοείται πως όχι!
Προφανώς και αυτό εμένα δε με κάλυπτε οπότε έγραψα το δικό μου script σε Python που κάνει εξαγωγή τα πάντα από τη σελίδα του wordometers.
Μπορείτε να δείτε τον κώδικα εδώ.
Πως λειτουργεί το script του scrap;
Το script είναι απλό, αφού θα δείτε είναι μόνο 15 γραμμές κώδικα μαζί με τα κενά. Χρησιμοποιεί ένα πακέτο, το covid 2.2.6, που δημιουργήθηκε από το πανεπιστήμιο Johns Hopkins και μας βοηθά να συγκεντρώσουμε τα στοιχεία που θέλουμε από την παραπάνω ιστοσελίδα. Αυτό που έκανα εγώ είναι να συγκεντρώνω όλα αυτά τα δεδομένα σε ένα .csv αρχείο για να μπορούμε αργότερα να τα επεξεργαστούμε με κάποια γλώσσα προγραμματισμού. Με λίγα λόγια, δημιουργώ μια βάση δεδομένων επί καθημερινής βάσεως, μόνο με το πάτημα ενός κουμπιού και πάνω απ΄όλα δωρεάν! Σώζω αυτήν τη βάση στο GitHub και μπορώ να τη χρησιμοποιώ από οπουδήποτε.
Εδώ μπορείτε να δείτε το .csv αρχείο με όλα τα δεδομένα ανά χώρα, ήπειρο κτλ.
Script για την ανάλυση δεδομένων με Python.
To script παίρνει σαν input τα δεδομένα από το παραπάνω αρχείο .csv και κάνει όποια ανάλυση του ορίσω εγώ. Του έχω ορίσει να υπολογίζει τα παρακάτω.
- Υπολογισμός θνητότητας για κάθε χώρα
- Υπολογισμός θνησιμότητας για κάθε χώρα
- Υπολογισμός μόλυνσης επί τοις εκατό του πληθυσμού για κάθε χώρα
- Επί τοις εκατό αύξηση κρουσμάτων σε σχέση με χτες
- Επί τοις εκατό αύξηση θανάτων σε σχέση με χτες
- Επί τοις εκατό σοβαρών κρουσμάτων
- Επί τοις εκατό όσων ανάρρωσαν
- Επί τοις εκατό ενεργών κρουσμάτων
- Κρούσματα ανά δέκα χιλιάδες του πληθυσμού κάθε χώρας
- Κρούσματα ανά ένα εκατομμύριο του πληθυσμού κάθε χώρας
- Εκτυπώνει ένα Pie chart με τα σημαντικά στοιχεία για κάθε χώρα
- Πόσα τεστ έγιναν και το ποσοστό των τεστ που βγήκε θετικό
Εδώ μπορείτε να δείτε τον κώδικα του script GitHub
Παράδειγμα του output του script για την Ελλάδα.
Ουσιαστικά αυτό που καταφέρνουμε με την Python και με όλες τις γλώσσες προγραμματισμού είναι, γράφοντας μια φορά τον κώδικα του τι θέλουμε να κάνει ένα πρόγραμμα, αυτό θα κάνει κάθε φορά τους ίδιους υπολογισμούς σε δευτερόλεπτα, ανάλογα με τα στοιχεία που θα του εισάγουμε κάθε φορά!
Για χρήστες Windows
Μπορείτε να κατεβάσετε από εδώ το .exe του script για υπολογιστές με Windows. Αρκεί να κάνετε 2πλο κλικ στο .exe που θα κατεβάσετε και θα σας βγάλει τα δεδομένα όποιας από τις παρακάτω χώρες ή ήπειρο επιλέξετε:
- WORLD
- ITALY
- SPAIN
- GERMANY
- NETHERLANDS
- BELGIUM
- GREECE
- FRANCE
- NORWAY
- PORTUGAL
- SWEDEN
- DENMARK
- LUXEMBOURG
- FINLAND
- AUSTRIA
- CZECHIA
- IRELAND
- ICELAND
- CYPRUS
- SWITZERLAND
- UK
- NORTH AMERICA
- EUROPE
- ASIA
- SOUTH AMERICA
- OCEANIA
- AFRICA
- USA
Το input της χώρας/ηπείρου πρέπει να είναι πάντα με λατινικούς χαρακτήρες και με κεφαλαία όπως φαίνεται παραπάνω. Για να δείτε το διάγραμμα πρέπει να εγκαταστήσετε την παρακάτω βιβλιοθήκη pymetasploit3 απλά ανοίγοντας το τερματικό των Windows και γράφοντας το παρακάτω.
pip install pymetasploit3
Πατάτε το enter και περιμένετε μέχρι να ολοκληρωθεί.
Για χρήστες Linux
Οι χρήστες Linux μπορούν να τρέξουν το script κατευθείαν από το τερματικό, κατεβάζοντας αυτό το αρχείο και αφού έχουν πρωτίστως εγκαταστήσει την Python στον υπολογιστή τους.
sudo apt install python3
sudo apt install pythonpy
pip install pymetasploit3
Αφού εγκατασταθούν όλα τα παραπάνω (και ότι άλλο σας προειδοποιήσει το τερματικό ότι λείπει), ανοίγετε το τερματικό στην καρτέλα που αποθηκεύσατε το script, τρέχετε το παρακάτω
py worldmeters_analysis.py
Πατάτε enter και αν δεν υπάρχει κάποιο λάθος θα τρέξει και θα σας ρωτήσει να εισάγετε χώρα ή ήπειρο ακριβώς όπως περιγράφεται και για τους χρήστες Windows.