Η εικόνα προφίλ είναι ένα από τα κύρια στοιχεία οποιουδήποτε λογαριασμού μέσων κοινωνικής δικτύωσης, αλλά εφαρμογές όπως το Instagram δεν σας επιτρέπουν να την δείτε ή να την κατεβάσετε. Αυτή η διαδικασία μπορεί εύκολα να επιτευχθεί χρησιμοποιώντας ένα εργαλείο αυτοματισμού ιστού όπως το Selenium με Python.
Μάθετε να χρησιμοποιείτε αυτό το power duo για να αλληλεπιδράτε με οποιοδήποτε στοιχείο μιας ιστοσελίδας, να την αυτοματοποιείτε και να εξοικονομείτε πολύτιμο χρόνο επενδύοντας σε παραγωγικές εργασίες. Και το καλύτερο μέρος; Κατασκευάστε αυτό χωρίς καν να συνδεθείτε ή να έχετε λογαριασμό στο Instagram.!
Η Διαδικασία Δόμησης Αλγορίθμων
Η οικοδόμηση αλγορίθμων αναφέρεται στη διαδικασία εντοπισμού του προβλήματος και καταγραφής των βημάτων που χρειάζεται να αυτοματοποιήσει το πρόγραμμα. Τα διάφορα βήματα που απαιτούνται για τη λήψη μιας εικόνας προφίλ είναι:
- Πάρτε το όνομα χρήστη ενός προφίλ ως είσοδο
- Ανοίξτε το Google Chrome
- Επισκεφτείτε το προφίλ του Instagram
- Κατεβάστε την εικόνα προφίλ
Αυτό χρησιμεύει ως ο αλγόριθμος της δήλωσης προβλήματος.
Αυτό το έργο χρησιμοποιεί τις παρακάτω λειτουργικές μονάδες και εργαλεία Python.
1. Ενότητα Urllib
Το Urllib είναι μια λειτουργική μονάδα Python που χρησιμοποιείται για τη διαχείριση διευθύνσεων URL από το Διαδίκτυο. Θα χρησιμοποιήσετε αυτήν την ενότητα για να πραγματοποιήσετε λήψη της εικόνας προφίλ του λογαριασμού από τη διεύθυνση URL της πηγής. Εάν το Urllib δεν υπάρχει στο σύστημά σας, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας την εντολή pip εγκατάσταση urllib.
2. Ενότητα χρόνου
Αυτή η ενότητα, αν και δεν είναι υποχρεωτική, μπορεί να προκαλέσει την αποτυχία της έκδοσης εάν η σύνδεσή σας στο Διαδίκτυο είναι αργή ή τα περιεχόμενα της ιστοσελίδας δεν φορτώνονται κατά τη διάρκεια της αλληλεπίδρασης του προγράμματος Python με το ιστοσελίδα. Η συνάρτηση delay() μας βοηθά να βάλουμε μια μικρή καθυστέρηση για να μην αποτύχει η κατασκευή.
3. Μονάδα σεληνίου
Ένα από τα πιο δημοφιλή εργαλεία αυτοματισμού του προγράμματος περιήγησης ανοιχτού κώδικα είναι το Selenium. Είναι διαθέσιμο ως πακέτο Python που υποστηρίζει διάφορα προγράμματα περιήγησης όπως Google Chrome, Microsoft Edge, Safari και Mozilla Firefox. Για να εγκαταστήσετε το Selenium στο περιβάλλον Python σας, ανοίξτε το Τερματικό και να εκτελέσειpip εγκατάσταση σεληνίου.
4. WebDriver
Το πρόγραμμα οδήγησης ιστού είναι ένα εργαλείο που χρησιμοποιεί η Selenium και δημιουργεί μια σύνδεση μεταξύ του προγράμματος και οποιουδήποτε ιστότοπου. Διαφορετικά είδη προγραμμάτων οδήγησης web είναι διαθέσιμα με βάση το πρόγραμμα περιήγησης που θέλετε να αυτοματοποιήσετε. Για αυτήν την κατασκευή, πρόκειται να χρησιμοποιήσετε το πρόγραμμα περιήγησης Google Chrome. Για να εγκαταστήσετε το πρόγραμμα οδήγησης ιστού για το Chrome:
- Ελέγξτε την έκδοση του προγράμματος περιήγησης που χρησιμοποιείτε μεταβαίνοντας στο Μενού (3 τελείες) >Βοήθεια > Σχετικά με το Google Chrome.
- Σημειώστε την έκδοση του προγράμματος περιήγησης.
- Επισκεφθείτε τη σελίδα λήψεων του ChromeDriver - WebDriver για Chrome.
- Επιλέξτε την επιλογή που ταιριάζει με τον αριθμό της έκδοσής σας από τις τρέχουσες εκδόσεις του ChromeDriver.
- Επιλέξτε και κατεβάστε το αρχείο σύμφωνα με το λειτουργικό σας σύστημα.
- Εξαγάγετε το ληφθέν αρχείο και τοποθετήστε το στον ίδιο φάκελο με το πρόγραμμα Python. Αυτό θα είναι χρήσιμο για τον ορισμό της διαδρομής κατά την κωδικοποίηση.
Τρόπος επιθεώρησης κώδικα για αυτοματοποίηση οποιασδήποτε πτυχής μιας ιστοσελίδας
Για οποιαδήποτε διαδικασία αυτοματισμού ιστού που χρησιμοποιεί Selenium και Python, είναι απαραίτητο να έχετε μια βασική κατανόηση του ιστού και των τεχνολογιών του. Το πρώτο βήμα είναι να κερδίσεις μια εισαγωγή στην HTML ακολουθούμενη από κατανόηση των Cascading Style Sheets (CSS). Εδώ θα εξοικειωθείτε με την έννοια των αναγνωριστικών και των κλάσεων.
Τα αναγνωριστικά και οι κλάσεις είναι μοναδικά ονόματα που δίνονται σε ένα στοιχείο ή ένα σύνολο στοιχείων (ετικέτες) αντίστοιχα. Χρησιμοποιώντας αυτά, εντοπίζετε το απαιτούμενο στοιχείο και δίνετε εντολή στο πρόγραμμα Python να το στοχεύσει συγκεκριμένα. Για να ελέγξετε τον κωδικό και να εντοπίσετε την εικόνα προφίλ:
- Ανοίξτε την ιστοσελίδα του λογαριασμού Instagram.
- Κάντε κλικ στο πρόγραμμα περιήγησης Μενού > Περισσότερα εργαλεία > Εργαλεία προγραμματιστή ή χρησιμοποιήστε τη συντόμευση Ctrl + Shift + I για να ενεργοποιήσετε το Εργαλεία προγραμματιστή θέα.
- Κάντε κλικ και επιλέξτε το Επιλογέας στοιχείων εργαλείο (εικονίδιο δρομέα ποντικιού) στην αριστερή γωνία του παραθύρου και τοποθετήστε το πάνω από οποιοδήποτε μέρος της ιστοσελίδας για να μεταβείτε σε αυτήν την ενότητα κώδικα.
- Είναι σημαντικό να σημειωθεί ότι οι φωτογραφίες προφίλ ενός δημόσιου λογαριασμού και ενός ιδιωτικού λογαριασμού ορίζονται διαφορετικά. Τοποθετήστε το δείκτη του ποντικιού πάνω από την εικόνα προφίλ ενός δημόσιου λογαριασμού. Το χαρακτηριστικό κλάσης για το Δημόσιο Προφίλ είναι _aa8j.
- Επαναλάβετε το παραπάνω βήμα για ένα ιδιωτικό προφίλ. Η ιδιότητα κλάσης είναι _aadp.
Μπορείτε να χρησιμοποιήσετε αυτήν τη διαδικασία για να κατανοήσετε οποιαδήποτε ιστοσελίδα και να στοχεύσετε οποιοδήποτε στοιχείο για αυτοματοποίηση.
Πώς να δημιουργήσετε το πρόγραμμα λήψης φωτογραφιών προφίλ Instagram
Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε το πρόγραμμα λήψης.
- Εισαγάγετε τις απαιτούμενες μονάδες στο περιβάλλον Python.
από σελήνιο εισαγωγή webdriver
εισαγωγή χρόνος
εισαγωγή urllib.αίτημα - Χρησιμοποιώντας τη συνάρτηση εισαγωγής, αποκτήστε το όνομα χρήστη του προφίλ του οποίου η εικόνα προφίλ πρόκειται να ληφθεί και αποθηκεύστε το σε μια μεταβλητή που ονομάζεται όνομα χρήστη.
#πληκτρολογώντας το όνομα χρήστη του προφίλ του οποίου η εικόνα προφίλ πρόκειται να ληφθεί
username=input("Εισαγάγετε το όνομα χρήστη του προφίλ: ") - Αρχικοποιήστε το πρόγραμμα οδήγησης web δημιουργώντας ένα αντικείμενο του και περνώντας τη διαδρομή του συστήματος αρχείων.
#δημιουργώντας ένα αντικείμενο του chromedriver
cd='chromedriver.exe' - Χρησιμοποιήστε το webdriver. Χρώμιο λειτουργία για την εκκίνηση του προγράμματος περιήγησης Google Chrome.
#άνοιξε το πρόγραμμα περιήγησης google chrome
οδηγός = webdriver. Χρώμιο(CD) - Η διεύθυνση URL οποιουδήποτε λογαριασμού Instagram έχει τη μορφή https://www.instagram.com/ ακολουθούμενο από το όνομα χρήστη. Ορίστε τη διεύθυνση URL του προφίλ ως,
#setting the url
url='https://www.instagram.com/'
url_p=url+user_h - Περάστε την πλήρη διεύθυνση URL του προφίλ Instagram προς επίσκεψη στη συνάρτηση get().
#άνοιξε το προφίλ
οδηγός.παίρνω(url_p) - Ορίστε μια προαιρετική προτεινόμενη καθυστέρηση για την πλήρη φόρτωση της ιστοσελίδας.
#delay για τη φόρτωση περιεχομένου σελίδας
χρόνος.ύπνος(5) - Χρησιμοποιήστε το μπλοκ try-except για να εντοπίσετε και να προσδιορίσετε εάν η εικόνα προφίλ ανήκει σε δημόσιο προφίλ. Αυτό γίνεται χρησιμοποιώντας το χαρακτηριστικό class στην έκφραση XPath. Σε περίπτωση αποτυχίας, χρησιμοποιήστε το μπλοκ εκτός για να αναζητήσετε την εικόνα προφίλ ενός ιδιωτικού λογαριασμού.
προσπαθήστε:
#αν το προφίλ είναι δημόσιο, αναζητήστε εικόνα με κλάση _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
εκτός:
#if profile είναι ιδιωτικό, αναζητήστε εικόνα με την κλάση _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]') - Χρησιμοποιώντας το get_attribute(), αποκτήστε το χαρακτηριστικό src της εικόνας. Αυτό επιστρέφει το σύνδεσμο της εικόνας.
#store ο σύνδεσμος λήψης της εικόνας
img_link=image.get_attribute('src') - Ορίστε τη διαδρομή και την επέκταση του ληφθέντος αρχείου. Για παράδειγμα, μπορείτε να ρυθμίσετε τη λήψη της εικόνας στη μονάδα D: του συστήματος αρχείων σας σε μορφή JPG ως.
#set διαδρομή του ληφθέντος αρχείου
μονοπάτι="ΡΕ:\\"+όνομα χρήστη+".jpg" - Κάντε λήψη της εικόνας περνώντας τον σύνδεσμο της εικόνας προφίλ ως πηγή και τη διαδρομή του τοπικού φακέλου συστήματος ως προορισμό στη συνάρτηση urlretrieve().
#κατέβασμα εικόνας στον επιθυμητό προορισμό
urllib.αίτηση.urlretrieve(img_link,μονοπάτι) - Επισκεφτείτε το φάκελο και δείτε ότι έχει γίνει λήψη της εικόνας προφίλ. Προαιρετικά, μπορείτε επίσης να εμφανίσετε τη διαδρομή όπου έγινε λήψη της εικόνας προφίλ.
#εμφάνιση της διαδρομής της φωτογραφίας προφίλ που λήφθηκε
Τυπώνω("Η φωτογραφία προφίλ κατέβηκε στη διεύθυνση: "+μονοπάτι)
Τελικός πηγαίος κώδικας για πρόγραμμα λήψης φωτογραφιών προφίλ Instagram με χρήση Python
Συγκεντρώνοντας τα όλα μαζί, παίρνετε:
#εισαγωγή των απαιτούμενων μονάδων
από σελήνιο εισαγωγή webdriver
εισαγωγή χρόνος
εισαγωγή urllib.αίτημα
#πληκτρολογώντας το όνομα χρήστη του προφίλ του οποίου η εικόνα προφίλ πρόκειται να ληφθεί
user_h=input("Εισαγάγετε το όνομα χρήστη του προφίλ: ")
#setting the url
url='https://www.instagram.com/'
url_p=url+user_h
#δημιουργία αντικειμένου του chromedriver
cd='chromedriver.exe'
#άνοιξε το google
οδηγός = webdriver. Χρώμιο(CD)
#άνοιξε το προφίλ
οδηγός.παίρνω(url_p)
#delay για τη φόρτωση περιεχομένου σελίδας
χρόνος.ύπνος(5)
προσπαθήστε:
#αν το προφίλ είναι δημόσιο, αναζητήστε εικόνα με κλάση _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
εκτός:
#if profile είναι ιδιωτικό, αναζητήστε εικόνα με την κλάση _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')
#store ο σύνδεσμος λήψης της εικόνας
img_link=image.get_attribute('src')
Εφαρμογές Αυτοματισμού Ιστού
Ο αυτοματισμός όχι μόνο σάς βοηθά να εξοικονομήσετε χρόνο, χρήμα και προσπάθεια, αλλά εγγυάται επίσης την ολοκλήρωση των εργασιών, αποτρέποντας παράλληλα σφάλματα. Χρησιμοποιήστε αυτήν την τεχνική για να αυτοματοποιήσετε τη σύνδεση διαφορετικών ιστότοπων, να πραγματοποιήσετε δημιουργία αντιγράφων ασφαλείας διακομιστών cloud, να προγραμματίσετε μηνύματα, να ευχηθείτε γενέθλια σε πλατφόρμες μέσων κοινωνικής δικτύωσης, να δημιουργήσετε αναρτήσεις, να δημοσιεύσετε tweets και πολλά άλλα.