Πώς να εξαγάγετε συνδέσμους από οποιαδήποτε ιστοσελίδα χρησιμοποιώντας PowerShell
Το PowerShell 3 διαθέτει πολλά νέα χαρακτηριστικά, συμπεριλαμβανομένων μερικών ισχυρών νέων λειτουργιών που σχετίζονται με το web. Απλοποιούν δραματικά την αυτοματοποίηση του ιστού και σήμερα θα σας δείξουμε πώς μπορείτε να εξαγάγετε κάθε σύνδεσμο από μια ιστοσελίδα και προαιρετικά να κάνετε λήψη του πόρου εάν το επιθυμείτε.
Απομάκρυνση του ιστού με το PowerShell
Υπάρχουν δύο νέα μπιτόνια που διευκολύνουν την αυτοματοποίηση του ιστού, το Invoke-WebRequest, το οποίο καθιστά ευκολότερη την ανίχνευση του περιεχομένου από άνθρωπο και το Invoke-RestMethod, το οποίο καθιστά το περιεχόμενο ευανάγνωστο από την μηχανή ευκολότερο να το διαβάσει. Δεδομένου ότι οι σύνδεσμοι αποτελούν μέρος της HTML μιας σελίδας, αποτελούν μέρος του ανθρώπινου αναγνώσιμου υλικού. Το μόνο που έχετε να κάνετε για να πάρετε μια ιστοσελίδα είναι να χρησιμοποιήσετε το Invoke-WebRequest και να του δώσετε μια διεύθυνση URL.
Invoke-WebRequest -Uri 'http://howtogeek.com'
Εάν μετακινηθείτε προς τα κάτω θα δείτε ότι η απάντηση έχει μια ιδιότητα συνδέσμων, μπορούμε να χρησιμοποιήσουμε τη δυνατότητα απαρίθμησης νέων μελών του PowerShell 3 για να τα φιλτράρουμε.
(Invoke-WebRequest -Uri 'http://howtogeek.com'). Συνδέεται
Όπως μπορείτε να δείτε εσείς έχετε πολλούς συνδέσμους πίσω, αυτό είναι όπου πρέπει να χρησιμοποιήσετε τη φαντασία σας για να βρείτε κάτι μοναδικό για να φιλτράρετε τους συνδέσμους που ψάχνετε. Ας υποθέσουμε ότι θέλουμε μια λίστα με όλα τα άρθρα στην πρώτη σελίδα.
(Invoke-WebRequest -Uri 'http://howtogeek.com') .Σύνδεσμος | όπου-αντικείμενο $ _. Href -like "http *" |
Ένα άλλο μεγάλο πράγμα που μπορείτε να κάνετε με τα νέα cmdlet είναι η αυτοματοποίηση των καθημερινών λήψεων. Ας δούμε την αυτόματη απόσπαση της εικόνας της ημέρας από την ιστοσελίδα Nat Geo, για να το κάνουμε αυτό θα συνδυάσουμε τα νέα cmdlet web με Start-BitsTransfer.
$ IOTD = ((Invoke-WebRequest -Uri 'http://photography.nationalgeographic.com/photography/photo-of-the-day/').Links | Πού είναι η εσωτερικήHTML όπως "* Κατεβάστε ταπετσαρία *"). Href
Start-BitsTransfer -Αποστολή $ IOTD -Ορισμός C: \ IOTD \
Αυτό είναι το μόνο που υπάρχει σε αυτό. Έχετε κάποια καθαρά κόλπα της δικής σας; Ενημερώστε μας στα σχόλια.