Πώς να δημιουργήσετε μια εφαρμογή ανάγνωσης RSS στο JavaScript
RSS (Really Simple Syndication) είναι μια τυποποιημένη μορφή που χρησιμοποιείται από τους εκδότες σε απευθείας σύνδεση συνδικάτο το περιεχόμενό τους σε άλλους ιστότοπους και υπηρεσίες. Ενα Έγγραφο RSS, επίσης γνωστή ως a ταίζω, είναι ένα Έγγραφο XML μεταφέροντας το περιεχόμενο που ένας εκδότης επιθυμεί να διανείμει.
Οι τροφοδοσίες RSS είναι διαθέσιμες σε σχεδόν όλες τις ιστοσελίδες ειδήσεων σε απευθείας σύνδεση και τα blogs για τους αναγνώστες τους παραμείνετε ενημερωμένοι με το περιεχόμενό τους. Μπορούν επίσης να βρεθούν στο ιστοσελίδες που δεν βασίζονται σε κείμενο όπως το YouTube, όπου μπορείτε να χρησιμοποιήσετε τη ροή του καναλιού YouTube ενημερωμένα για τα πιο πρόσφατα βίντεο.
Προβλέπονται προγράμματα που έχουν πρόσβαση σε αυτές τις τροφοδοσίες και διαβάζουν και εμφανίζουν το περιεχόμενό τους Αναγνώστες RSS. Μπορείτε να δημιουργήσετε ένα απλό πρόγραμμα ανάγνωσης RSS στο JavaScript. Σε αυτό το σεμινάριο, θα δούμε πώς να.
Δομή μιας ροής RSS
Μια ροή RSS έχει ένα ριζικό στοιχείο που ονομάζεται
, παρόμοια με την tag που βρέθηκαν σε έγγραφα HTML. μεσα στην
ετικέτα, υπάρχει ένα
στοιχείο, είδος όπως σε HTML, ότι περιλαμβάνει πολλά επιμέρους στοιχεία που περιέχει το διανεμόμενο περιεχόμενο του ιστότοπου.
Μια τροφή συνήθως φέρει μερικές Βασικές πληροφορίες όπως ο τίτλος, η διεύθυνση URL και η περιγραφή της ιστοσελίδας και του μεμονωμένες ενημερωμένες δημοσιεύσεις, άρθρα ή άλλο περιεχόμενο του εν λόγω δικτυακού τόπου. Αυτές οι πληροφορίες βρίσκονται στο
, , και
στοιχεία, αντίστοιχα.
Όταν αυτές οι ετικέτες είναι άμεσα παρόντες μέσα
, κρατούν τον τίτλο, τη διεύθυνση URL και την περιγραφή του ιστότοπου. Όταν είναι παρόν μέσα
ότι διατηρεί τις πληροφορίες σχετικά με τις ενημερωμένες θέσεις, Αντιπροσωπεύουν τις ίδιες πληροφορίες όπως πριν, αλλά εκείνες των μεμονωμένων περιεχομένων που περιέχονται σε κάθε μία από αυτές
εκπροσωπώ.
Υπάρχουν επίσης κάποιες προαιρετικά στοιχεία που μπορεί να υπάρχουν σε μια ροή RSS, παρέχοντας συμπληρωματικές πληροφορίες όπως εικόνες ή πνευματικά δικαιώματα στο διανεμόμενο περιεχόμενο. Μπορείτε να μάθετε γι 'αυτά σε αυτό Προδιαγραφές RSS 2.0 στο cyber.harvard.edu.
Εδώ είναι ένα δείγμα του πώς το Τροφοδοσία RSS ενός δικτυακού τόπου μπορεί να μοιάζει με:
Χονγκκιάτ https://www.hongkiat.com/Συμβουλές Σχεδιασμού, Εκμάθηση και Εμπνεύσεις en-us Προβολή οποιουδήποτε φύλλου στυλ CSS με στατιστικά στοιχεία CSS Αναρωτηθήκατε πόσοι κανόνες CSS υπάρχουν σε ένα φύλλο στυλ; Ή μήπως ήθελες να δεις ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - Η πιο πρόσφατη έξυπνη συσκευή με Alexa Το Amazon δεν είναι ξένο προς την έννοια των έξυπνων οικιακών συστημάτων με ενσωματωμένο ψηφιακό βοηθό. Μετά από όλα ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Λήψη της τροφοδοσίας
Εμείς πρέπει να φέρε την τροφή με την εφαρμογή ανάγνωσης RSS. Σε έναν ιστότοπο, μπορεί να είναι η διεύθυνση URL μιας ροής RSS βρέθηκαν μέσα στο ετικέτα χρησιμοποιώντας το
εφαρμογή / rss + xml
τύπος. Για παράδειγμα, θα βρείτε τον παρακάτω σύνδεσμο ροής RSS στο Hongkiat.com.
Πρώτον, ας δούμε πώς να πάρτε τη διεύθυνση URL ροής ενός ιστοτόπου χρησιμοποιώντας JavaScript.
fetch (webUrl) .then ((res) => res.text ()) τότε ((htmlTxt) => var domParser = new DOMParser feedUrl = doc.querySelector ('σύνδεσμος [type = "application / rss + xml"]) href)) catch (() => console.error
ο φέρω()
μέθοδος είναι μια παγκόσμια μέθοδος που παραλαμβάνει ασύγχρονα έναν πόρο. Λαμβάνει τη διεύθυνση URL του πόρου ως επιχείρημα (η διεύθυνση URL του ιστότοπου στον κώδικα μας). Το επιστρέφει a Υπόσχεση
αντικείμενο, έτσι όταν η μέθοδος προσελκύει με επιτυχία τον ιστότοπο (δηλ. το Υπόσχεση
πληρούται), η πρώτη λειτουργία μέσα στο έπειτα()
δήλωση χειρίζεται την απάντηση που έχει παραληφθεί (res
στο παραπάνω κώδικα).
Η ληφθείσα απάντηση είναι τότε να διαβαστεί πλήρως σε μια συμβολοσειρά κειμένου χρησιμοποιώντας το κείμενο()
μέθοδος. Αυτό το κείμενο αντιπροσωπεύει το Το κείμενο HTML του ιστότοπου που ανακτήσαμε. Σαν φέρω()
, κείμενο()
επίσης επιστρέφει a Υπόσχεση
αντικείμενο. Έτσι, όταν δημιουργεί με επιτυχία ένα κείμενο απόκρισης από τη ροή απόκρισης, έπειτα()
θα χειριστεί αυτό το κείμενο απόκρισης (htmlText
στο παραπάνω κώδικα).
Μόλις είναι διαθέσιμο το κείμενο HTML του ιστότοπου, χρησιμοποιούμε API DOMParser
προς το αναλύστε το σε ένα έγγραφο DOM. DOMParser
αναλύει μια συμβολοσειρά κειμένου XML / HTML σε ένα έγγραφο DOM. Η μέθοδος του, parseFromString ()
, παίρνει δύο επιχειρήματα: ο κείμενο προς ανάλυση και το Τύπος περιεχομένου.
Στη συνέχεια, από το έγγραφο DOM που δημιουργήσαμε, εμείς βρες το href
αξία των σχετικών ετικέτα χρησιμοποιώντας το
querySelector ()
για να λάβετε τη διεύθυνση URL της ροής δεδομένων.
Ανάλυση και προβολή της ροής δεδομένων
Μόλις λάβουμε τη διεύθυνση URL ροής του ιστοτόπου, πρέπει να το κάνουμε φέρετε και διαβάστε το έγγραφο RSS που βρέθηκαν σε αυτήν τη διεύθυνση URL.
fetch (feedUrl) .then ((res) => res.text ()) τότε ((xmlTxt) => var domParser = νέο DOMParser .querySelectorAll ('στοιχείο') forEach ((item) => ας h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title') textContent document.querySelector. appendChild (h1))
Με τον ίδιο τρόπο που τραβήξαμε και αναλύσαμε τον ιστότοπο, τώρα εμείς να λάβετε και να αναλύσετε τη ροή XML σε ένα έγγραφο DOM. Για να το επιτύχουμε, χρησιμοποιούμε το 'text / xml'
τύπος περιεχομένου στο parseFromString ()
μέθοδος.
Στο αναλυτικό έγγραφο, εμείς επιλέξτε όλα τα
στοιχεία χρησιμοποιώντας το querySelectorAll
μέθοδος και βρόχο μέσα από κάθε ένα.
Μέσα σε κάθε στοιχείο, μπορούμε ετικέτες πρόσβασης σαν
,
, και , που φέρουν το περιεχόμενο της ροής. Και, η απλή εφαρμογή ανάγνωσης RSS γίνεται, μπορείτε να διαμορφώσετε το περιεχόμενο των τροφοδοτούμενων τροφοδοσιών όπως επιθυμείτε.
Github demo
Μπορείτε να δείτε το πιο λεπτομερή έκδοση του κώδικα που χρησιμοποιείται σε αυτή τη θέση στο Github repo. Η λεπτομερέστερη έκδοση τροφοδοτεί τρεις τροφοδοσίες (Mozilla Hacks, Hongkiat και το ιστολόγιο Webkit) χρησιμοποιώντας ένα αρχείο JSON και προσθέτει επίσης ορισμένα στυλ CSS στον αναγνώστη RSS.