Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών.
Η απόξεση HTML μπορεί να είναι δυσνόητη, οπότε βεβαιωθείτε ότι κατανοείτε αυτήν τη διαδικασία με λίγη πρακτική Python.
Το Twitter είναι μια από τις πλατφόρμες κοινωνικής δικτύωσης με τη μεγαλύτερη επιρροή που υπάρχουν ποτέ. Εκατομμύρια άνθρωποι, συμπεριλαμβανομένων κορυφαίων πολιτικών, διασημοτήτων και CEOs χρησιμοποιούν την πλατφόρμα για να μοιράζονται τις σκέψεις τους καθημερινά.
Η καρτέλα trending είναι ένα από τα καλύτερα μέρη για να μάθετε ειδήσεις σε πραγματικό χρόνο και συναισθήματα στα μέσα κοινωνικής δικτύωσης. Μπορείτε να αναλύσετε και να χρησιμοποιήσετε αυτά τα δεδομένα για να σχεδιάσετε διαφημίσεις επωνυμίας, να εκτελέσετε καμπάνιες και να αυξήσετε τις πωλήσεις κατά πολλαπλάσια. Πώς όμως μπορείτε να αποκτήσετε τα δέκα κορυφαία trending hashtags στο Twitter;
Η Διαδικασία Δόμησης Αλγορίθμων
Το πρώτο βήμα για τη δημιουργία οποιουδήποτε προγράμματος είναι να σημειώσετε και να κατανοήσετε τα βήματα που απαιτούνται για την κατασκευή ενός scraper Twitter. Αυτοί είναι:
- Ανοίξτε το Google Chrome.
- Επισκεφτείτε την trending σελίδα του Twitter.
- Συγκεντρώστε τα hashtags και τον αντίστοιχο σύνδεσμο της σελίδας τους.
- Αποθηκεύστε τα δεδομένα σε ένα υπολογιστικό φύλλο.
Αυτό χρησιμεύει ως ο αλγόριθμος της δήλωσης προβλήματος.
Κατανόηση της ιστοσελίδας Twitter
Πρέπει να γνωρίζετε πώς μια ιστοσελίδα επισημαίνει τα δεδομένα της προτού μπορέσετε να την εξαγάγετε. Βοηθάει πολύ αν το καταλαβαίνεις καλά τα βασικά της HTML και CSS.
Ακολουθήστε αυτά τα βήματα για να μάθετε πώς το Twitter αντιπροσωπεύει ένα trending hashtag και τη διεύθυνση URL του:
- Επίσκεψη Τάσεις σελίδα του Twitter. Μπορείτε επίσης να πλοηγηθείτε σε Twitter.com → Εξερευνώ → Τάσεις για να το δείτε.
- Επιθεωρήστε την κύρια στήλη χρησιμοποιώντας τα Εργαλεία προγραμματιστών Chrome. Παω σε Μενού (3 κουκκίδες)>Περισσότερα εργαλεία >Εργαλεία προγραμματιστή και τοποθετήστε το εργαλείο επιλογής στοιχείων πάνω από την περιοχή των τάσεων.
- Το Χρονολόγιο Τάσεων είναι α div με ένα άρια-ετικέτα χαρακτηριστικό του οποίου η τιμή είναι "Χρονολόγιο: Εξερευνήστε". Τοποθετήστε το δείκτη του ποντικιού πάνω από τη σήμανση στο Στοιχεία για την καλύτερη κατανόηση της δομής της σελίδας. Αλλο div αποθηκεύει το trending hashtag/θέμα. Χρησιμοποιήστε αυτό το div ως μετρητή και επαναλάβετε όλα τα div στη σελίδα που περιέχει το δημοφιλές θέμα/hashtag. Το περιεχόμενο αποθηκεύεται σε ένα σπιθαμή ή μερικά στοιχεία ανοίγματος. Παρατηρήστε την ανοιχτή καρτέλα και σημειώστε την ιεραρχία. Μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε μια έκφραση XPath. Η έκφραση XPath για αυτό το συγκεκριμένο στοιχείο είναι:
Επανάληψη και στόχευση div[3], div[4], div[5] και ούτω καθεξής. Για τα δέκα κορυφαία hashtags, ο μετρητής κυμαίνεται από 3 έως 13. Το γενικευμένο XPath γίνεται:'//div[@aria-label="Χρονολόγιο: Εξερευνήστε"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Χρονολόγιο: Εξερευνήστε"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Κάντε κλικ σε οποιοδήποτε hashtag για να κατανοήσετε τη διεύθυνση URL των σελίδων του. Εάν συγκρίνετε τις διευθύνσεις URL, θα πρέπει να παρατηρήσετε ότι μόνο η παράμετρος του ερωτήματος αλλάζει για να ταιριάζει με το όνομα του hashtag. Μπορείτε να χρησιμοποιήσετε αυτό το insight για να δημιουργήσετε διευθύνσεις URL χωρίς να τις εξαγάγετε πραγματικά.
Αυτό το έργο χρησιμοποιεί τις ακόλουθες ενότητες και εργαλεία Python:
1. Ενότητα Pandas
Μπορείς χρησιμοποιήστε την κλάση Pandas DataFrame για να αποθηκεύσετε τα hashtags και τους αντίστοιχους συνδέσμους τους σε μορφή πίνακα. Αυτό θα είναι χρήσιμο όταν πρόκειται να προσθέσετε αυτά τα περιεχόμενα σε ένα αρχείο CSV που μπορείτε να μοιραστείτε εξωτερικά.
2. Ενότητα χρόνου
Χρησιμοποιήστε τη λειτουργική μονάδα Time για να προσθέσετε μια καθυστέρηση στο πρόγραμμα Python για να επιτρέψετε την πλήρη φόρτωση των περιεχομένων της σελίδας. Αυτό το παράδειγμα χρησιμοποιεί καθυστέρηση 15 δευτερολέπτων, αλλά μπορείτε να πειραματιστείτε και να επιλέξετε την κατάλληλη καθυστέρηση για τις περιστάσεις σας.
3. Μονάδα σεληνίου
Το σελήνιο μπορεί να αυτοματοποιήσει τη διαδικασία αλληλεπίδρασης με τον Ιστό. Μπορείτε να το χρησιμοποιήσετε για να ελέγξετε μια παρουσία ενός προγράμματος περιήγησης ιστού, να ανοίξετε τη σελίδα τάσεων και να πραγματοποιήσετε κύλιση προς τα κάτω. Για να εγκαταστήσετε το Selenium στο περιβάλλον Python σας, ανοίξτε το Τερματικό και να εκτελέσειpip εγκατάσταση σεληνίου.
4. Πρόγραμμα οδήγησης Web
Χρησιμοποιήστε ένα πρόγραμμα οδήγησης web σε συνδυασμό με το Selenium για να αλληλεπιδράσετε με το πρόγραμμα περιήγησης. Υπάρχουν διάφορα προγράμματα οδήγησης ιστού διαθέσιμα με βάση το πρόγραμμα περιήγησης που θέλετε να αυτοματοποιήσετε. Για αυτήν την κατασκευή, χρησιμοποιήστε το δημοφιλές πρόγραμμα περιήγησης Google Chrome. Για να εγκαταστήσετε το πρόγραμμα οδήγησης ιστού για το Chrome:
- Ελέγξτε την έκδοση του προγράμματος περιήγησης που χρησιμοποιείτε μεταβαίνοντας στο Μενού (3 τελείες) > Βοήθεια>Σχετικά με το Google Chrome.
- Σημειώστε την έκδοση του προγράμματος περιήγησης. σε αυτήν την περίπτωση, είναι 106.0.5249.62.
- Πήγαινε στο δικό σου Τερματικό και πληκτρολογήστε εγκατάσταση pip chromedriver-binary==version_number:
Εάν δεν υπάρχει αντίστοιχη έκδοση, το pip θα σας εμφανίσει μια λίστα με αυτές που είναι διαθέσιμες. επιλέξτε αυτό που βρίσκεται πιο κοντά στην έκδοση chrome σας.κουκούτσι εγκαθιστώ chromedriver-δυάδικος==106.0.5249.62
Πώς να φτιάξετε το Twitter Scraper
Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε το πρόγραμμά σας και να λάβετε trending hashtags σε πραγματικό χρόνο. Μπορείτε να βρείτε τον πλήρη πηγαίο κώδικα σε αυτό Αποθετήριο GitHub.
- Εισαγάγετε τις απαιτούμενες μονάδες στο περιβάλλον Python.
# εισαγωγή των απαιτούμενων μονάδων
από σελήνιο εισαγωγή webdriver
απόσελήνιο.webdriver.κοινός.μεεισαγωγήΜε
εισαγωγή chromedriver_binary
εισαγωγή χρόνος
εισαγωγή παντα όπως και πδ - Δημιουργήστε ένα αντικείμενο για την προετοιμασία του ChromeDriver και εκκινήστε το πρόγραμμα περιήγησης Google Chrome χρησιμοποιώντας το webdriver. Χρώμιο() λειτουργία.
# ανοίξτε το πρόγραμμα περιήγησης google chrome
πρόγραμμα περιήγησης = webdriver. Χρώμιο() - Ανοίξτε τη σελίδα των τάσεων του Twitter περνώντας τη διεύθυνση URL στο παίρνω() λειτουργία.
# ανοίξτε την trending σελίδα του Twitter
browser.get('https://twitter.com/explore/tabs/trending') - Εφαρμόστε μια καθυστέρηση ώστε τα περιεχόμενα της σελίδας να φορτωθούν πλήρως.
# καθυστέρηση για τη φόρτωση περιεχομένου σελίδας
χρόνος.ύπνος(15) - Δημιουργήστε μια κενή λίστα για να αποθηκεύσετε τα hashtags και δηλώστε έναν βρόχο που εκτείνεται από το 3 έως το 13 για να ταιριάζει με τη μεταβλητή στην έκφραση XPath από πριν.
# αρχικοποίηση λίστας για αποθήκευση θεμάτων τάσης και hashtag
trending_topic_content=[]# συλλέξτε θέματα και hashtags στη δημοφιλή σελίδα του Twitter
για i στο εύρος (3,13): - Χρησιμοποιήστε το find_element() λειτουργήστε και περάστε τον επιλογέα XPath για να λάβετε τα δημοφιλή θέματα και τα hashtags στο Twitter:
xpath = στ'//div[@aria-label="Χρονολόγιο: Εξερευνήστε"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (By. XPATH, xpath)
trending_topic_content.προσαρτώ(επίκαιρο θέμα.κείμενο) - Δημιουργήστε μια κενή λίστα για να αποθηκεύσετε όλες τις διευθύνσεις URL και δηλώστε έναν βρόχο που να διατρέχει όλα τα hashtags.
Χρησιμοποιήστε τον τελεστή slice για να παραλείψετε το hashtag για να δημιουργήσετε τη διεύθυνση URL του και να αντικαταστήσετε τα κενά με κωδικοποίηση URL, %20. Προσθέστε τους συνδέσμους στη λίστα.# δημιουργήστε διευθύνσεις URL χρησιμοποιώντας τα hashtag που συλλέγονται
urls=[]
για μένα στο trending_topic_content:αν ξεκινήσω με ("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + i + '&src=trend_click'
αλλού:
url = 'https://twitter.com/search? q=' + i + '&src=trend_click'
url = url.replace("", "%20")
urls.προσαρτώ(url) - Δημιουργήστε ένα λεξικό ζεύγους κλειδιών-τιμών με κλειδιά ως hashtags και τιμές ως διευθύνσεις URL.
# δημιουργήστε ένα λεξικό που έχει και το hashtag και τις διευθύνσεις URL
dic={'HashTag':trending_topic_content,'URL':urls} - Μετατρέψτε το μη δομημένο λεξικό σε πίνακα DataFrame.
# μετατρέψτε το λεξικό σε πλαίσιο δεδομένων σε pandas
df=pd. DataFrame (dic)
Τυπώνω(δφ) - Αποθηκεύστε το DataFrame σε ένα αρχείο CSV που μπορείτε να προβάλετε στο Microsoft Excel ή να επεξεργαστείτε περαιτέρω.
# μετατρέψτε το πλαίσιο δεδομένων σε μορφή τιμής διαχωρισμένης με κόμματα χωρίς σειριακούς αριθμούς
df.to_csv("Twitter_HashTags.csv",index=Λάθος)
Αποκτήστε πολύτιμες πληροφορίες χρησιμοποιώντας το Web Scraping
Η απόξεση Ιστού είναι μια ισχυρή μέθοδος για τη λήψη των επιθυμητών δεδομένων και την ανάλυσή τους για τη λήψη αποφάσεων. Το Beautiful Soup είναι μια εντυπωσιακή βιβλιοθήκη που μπορείτε να εγκαταστήσετε και να χρησιμοποιήσετε για να ξύσετε δεδομένα από οποιοδήποτε αρχείο HTML ή XML χρησιμοποιώντας Python.
Με αυτό, μπορείτε να "ξύσετε" το Διαδίκτυο για να κερδίσετε τίτλους ειδήσεων σε πραγματικό χρόνο, τιμές προϊόντων, αποτελέσματα αθλημάτων, αξία μετοχών και πολλά άλλα.