Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ) / ΠΛΣΔΕ
1
1
27
Eξαγωγή δεδομένων από ιστοσελίδες βάσει κανόνων
<p>Στην παρούσα διπλωματική εργασία μελετάμε και βελτιώνουμε μία web scraper εφαρμογή που ονομάζεται <strong>“</strong><strong>Athena”</strong> . Η εφαρμογή εκτελείται μέσω διεπαφής και είναι γραμμένη σε Python. Η διαφορά της με τις υπόλοιπες που κυκλοφορούν είναι πως επιτρέπει την εξαγωγή πληροφοριών από html σελίδες μόνο αν πληρούνται κάποιες προϋποθέσεις τις οποίες θέτει ο χρήστης μέσω κάποιων πεδίων - εντολών (regular expressions). Όλα αυτά τα πεδία που θα ορίσουν τελικά τους κανόνες εξαγωγής ορίζουν μία βιβλιοθήκη (exr file) την οποία διαβάζει το πρόγραμμα μας και εξάγει το τελικό αποτέλεσμα. Αφού μιλάμε για εξαγωγή δεδομένων από την εφαρμογή μας δεν θα μπορούσαν να λείπουν οι βιβλιοθήκες dataclass και dataconf με τις οποίες βελτιώσαμε τόσο λειτουργικά όσο και εμφανισιακά την κύρια βιβλιοθήκη της εφαρμογής μας, την xRules. Τέλος θέλοντας η εφαρμογή μας να γίνει πιο φιλική προς τον χρήστη ξεκινήσαμε τη δημιουργία μιας online εφαρμογής χρησιμοποιώντας python flask όπου ο χρήστης θα εισάγει τις τιμές των πεδίων σε μία φόρμα και η εφαρμογή θα αναλαμβάνει να κατασκευάσει το εκτελέσιμο αρχείο, να το τρέχει και να εμφανίζει τα αποτελέσματα.</p>
<p>In this diploma thesis, we study and improve a web scraper application called “Athena”. The application is executed through an interface and is written in Python. What sets it apart from other web scraping applications is that it allows the extraction of data from html pages only if certain conditions are met. These conditions specified by the user through certain fields or commands (regular expressions). All these fields that ultimately define the extraction rules are specified in a library (exr file) that our application reads and uses to extract the final result. Since we are dealing with data extraction, we couldn’t do without the “dataclass” and “dataconf” libraties, which have improved both the functionality and appearance of our main application library, the xRules library. Finally to make our application more user friendly, we have started developing an online application using python flask, where the user can input field values on a form and the application will construct the executable file, run it and display the results.</p>