Skip to content
tampakrap edited this page Nov 17, 2012 · 1 revision

Εισαγωγή

Ο cronos έχει ένα cronjob το οποίο κάνει parse RSS feeds και να τα προσθέτει στη βάση δεδομένων apps/announcements/rss_data_get.py.

Προβλήματα

  • Πολλά sites του ΤΕΙ δεν προσφέρουν RSS, ή το RSS που προσφέρουν δεν είναι καλό. Για να παρακαμφθεί αυτό γράφτηκε δεύτερο cronjob το οποίο δημιουργεί RSS feeds με web scrapping σε κάποιες ιστοσελίδες python manage.py create_rss_feeds. Παρακάτω υπάρχει λίστα με όλα τα sites που είτε προσφέρουν RSS, είτε δεν προσφέρουν καθόλου, είτε προσφέρουν αλλά χρειάζεται βελτίωση.
  • Το RSS των σχολών δεν παράγει σωστό <link>, σε όλες τις ανακοινώσεις είναι το ίδιο ενώ θα έπρεπε σε κάθε ανακοίνωση να είναι το μοναδιαίο link της ανακοίνωσης
  • Το RSS των σχολών δεν έχει <attachment> ή <enclosure> tags

Κατάσταση των RSS feeds των διάφορων ιστοσελίδων του ΤΕΙ

Ως τώρα έχω δει ότι παρέχουν RSS οι παρακάτω ιστοσελίδες:

Χρειαζόμαστε υποστήριξη για RSS feeds για τις ακόλουθες υπηρεσίες:

Σύμφωνα με τον κύριο Ιατρέλλη:

Για τα Τμήματα και το εκπαιδευτικό προσωπικό υπάρχουν έτοιμα τα RSS ή καλύτερα τα XML:

Σε RSS έχω φτιάξει εγώ τις ανακοινωσεις εκπαιδευτικών αλλά θα κάνεις διπλό request γιατί και εγώ κάνω Parse τα παραπάνω για να παραχθεί το: http://www.cs.teilar.gr/CS/[email protected]

Οπότε, σύμφωνα με τα παραπάνω, για τα τμήματα τα RSS είναι μια χαρά, γιατί μπορούμε να κάνουμε:

while tid <= 25:  
    wget "http://www.teilar.gr/tmimata/tmima_news_xml.php?tid=" + tid

Οπότε χρειαζόμαστε κάτι αντίστοιχο για τους καθηγητές. Αντί για mail στο URL να έχουν ένα pid, και οι ανακοινώσεις τους να είναι μαζεμένες ώστε να κάνουμε κάτι σαν:

while pid <= 400:  
    wget "http://www.teilar.gr/person_news_xml.php?pid=" + pid + "type=all"

Με το τρέχων implementation θα πρέπει πρώτα να συλλέξω ονόματα και emails καθηγητών στη βάση μου, και να κάνω το παρακάτω (το οποίο γίνεται, αλλά είναι παραπάνω δουλειά χωρίς λόγο, και απαιτεί περισσότερο maintenance):

for teacher_mail in database:  
    for type in p a e o:  
        wget "http://http://www.teilar.gr/person_news_xml.php?pid=" + teacher_mail + "type=" + type