Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 585936|Απάντηση: 70

[Πρόγραμμα κονσόλας] .net/c# Η διαδρομή προς τη βελτιστοποίηση του προγράμματος ανίχνευσης ιστού

  [Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 19/4/2018 2:21:02 μ.μ. | | | |
0x00

Ένας ανιχνευτής ιστού (γνωστός και ως web spider, web bot, που συνήθως ονομάζεται web chaser στην κοινότητα FOAF) είναι ένα πρόγραμμα ή σενάριο που αποκόπτει αυτόματα πληροφορίες σχετικά με τον Παγκόσμιο Ιστό σύμφωνα με ορισμένους κανόνες. Άλλα λιγότερο συχνά χρησιμοποιούμενα ονόματα περιλαμβάνουν μυρμήγκια, αυτόματα ευρετήρια, προσομοιωτές ή σκουλήκια.

0x01

Για να το θέσω απλά, οι ανιχνευτές αρπάζουν δεδομένα σύμφωνα με τους δικούς τους κανόνες, αναλύουν τα δεδομένα που συλλέγονται και στη συνέχεια αποκτούν χρήσιμα δεδομένα για τον εαυτό τους.

0x02

Η βελτιστοποίηση του προγράμματος ανίχνευσης ιστού μπορεί να χωριστεί σε δύο στάδια:

1: Βελτιστοποίηση κατά την απόξεση δεδομένων.

2: Βελτιστοποιήστε την επεξεργασία των αποτελεσμάτων σύλληψης.

Σήμερα, μιλάμε απλώς για βελτιστοποίηση στη διαδικασία απόξεσης!

0x03

Έχω συνοψίσει μερικά σημεία σχετικά με τη βελτιστοποίηση στη διαδικασία ανίχνευσης:

1: Μπορεί να βελτιστοποιηθεί στη φυσική διεύθυνση, για παράδειγμα: ο διακομιστής πόρων προορισμού είναι ο κεντρικός υπολογιστής Tencent Cloud στη Σαγκάη, προσπαθούμε να επιλέξουμε τον διακομιστή στην ίδια περιοχή, δηλαδή τον διακομιστή στην περιοχή της Σαγκάης, μην επιλέξετε τον διακομιστή στο Πεκίνο, το Qingdao και άλλες περιοχές, αλλά προσπαθήστε επίσης να επιλέξετε τον διακομιστή στην ίδια αίθουσα υπολογιστών IDC, γνωρίζουμε ότι αυτός ο ιστότοπος πόρων είναι ο διακομιστής του Tencent Cloud, προσπαθούμε να βάλουμε τον ανιχνευτή στον διακομιστή Tencent Cloud, όχι στον διακομιστή Alibaba Cloud!

2: Επιλέξτε ένα σταθερό και γρήγορο δίκτυο, γενικά οι ανιχνευτές έχουν υψηλές απαιτήσεις για ποιότητα δικτύου, προσπαθήστε να μην χρησιμοποιήσετε το οικιακό δίκτυο, επιλέξτε το δίκτυο της εταιρείας ή αγοράστε έναν διακομιστή για τη λήψη δεδομένων.

3: Επιλέξτε μια πιο αποτελεσματική γλώσσα ανίχνευσης, άκουσα ότι η python είναι καλύτερη στους ανιχνευτές, αλλά δεν την έχω χρησιμοποιήσει και θα τη δοκιμάσω αργότερα, σήμερα, την εξηγώ κυρίως σε γλώσσα .net.

0x04

Για πράγματα όπως η βιαστική αγορά, οι απαιτήσεις για την ταχύτητα αρπαγής είναι υψηλές, μπορεί να περιγραφεί ως θέμα χρόνου, νωρίς για να λάβετε τα δεδομένα, να αυξήσετε την πιθανότητα αρπαγής, το παρακάτω είναι ότι έγραψα ένα demo με την κονσόλα, τη δοκιμή της αρπαγής των δεδομένων αυτού του ιστότοπου, όπως φαίνεται στο παρακάτω σχήμα:


(Όσο μικρότερος είναι ο χρόνος, τόσο πιο γρήγορος είναι)

Η παραπάνω κατάταξη δεδομένων:1: Εγγενώς βελτιστοποιημένος κώδικας, 2: Εγγενής κώδικας, 3: Πρόσθετα dll τρίτων κατασκευαστών (πακέτα)

0x05

Γιατί τα πρόσθετα (πακέτα) τρίτων χρειάζονται περισσότερο χρόνο; Οι προσθήκες τρίτων είναι στην πραγματικότητα ένας μεγάλος αριθμός ενθυλακώσεων εγγενούς κώδικα, ένας μεγάλος αριθμός λογικών κρίσεων και σχετικά ευέλικτες, γεγονός που μπορεί να οδηγήσει σε αργή ταχύτητα ανίχνευσης.

Εδώ είναι ο εγγενής κώδικας:



Ο εγγενής κώδικας βρίσκεται μόλις λίγες γραμμές παραπάνω.Ο μέσος χρόνος εξακολουθεί να είναι 184 χιλιοστά του δευτερολέπτου,Όσο πιο απλός είναι ο κώδικας, τόσο πιο δύσκολο είναι να βελτιστοποιηθείΠιστεύετε ότι πώς μπορεί να βελτιστοποιηθεί ο παραπάνω κώδικας για να επιτευχθεί μέσος χρόνος 99 χιλιοστών του δευτερολέπτου;Η διαφορά ταχύτητας διπλασιάζεται!

0x06

Εάν ο διακομιστής πόρων προορισμού υποστηρίζει συμπίεση gzip, όταν έχουμε πρόσβαση στον ιστότοπο και το πρόγραμμα περιήγησης ζητά τον ιστότοπο, η κεφαλίδα αιτήματος θα έχει τις ακόλουθες παραμέτρους:

Παράμετροι κεφαλίδας απόκρισης:






Εισαγωγή στην «Αποδοχή-Κωδικοποίηση»: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Με απλούς όρους:

Ο πελάτης λέει:Υποστηρίζω τον αλγόριθμο συμπίεσης "gzip, deflate, sdch, br", μπορείτε να χρησιμοποιήσετε ό,τι θέλετε κατά την επιστροφή δεδομένων.

Ο διακομιστής είπε:Τυχαίνει να υποστηρίζω τον αλγόριθμο συμπίεσης gzip, επομένως θα χρησιμοποιήσω τον αλγόριθμο gzip για να συμπιέσω τα δεδομένα σε εσάς

Ο πελάτης λέει:Εντάξει, τότε θα αποκρυπτογραφήσω τα ληφθέντα δεδομένα με τον αλγόριθμο gzip

Αλγόριθμος gzip, ο οποίος μπορεί να συμπιέσει τα μεταδιδόμενα δεδομένα και να μειώσει σημαντικά το μεταδιδόμενο περιεχόμενο, επομένως η αποτελεσματικότητα του αιτήματος θα βελτιωθεί, επομένως ο βελτιστοποιημένος κώδικας έχει ως εξής:


Αν και είναι μια μικρή λεπτομέρεια, η απόδοση μπορούμε να πούμε ότι διπλασιάζεται! Είναι ισοδύναμο με τα δεδομένα που συλλέξατε σε δύο ημέρες και τώρα μπορούν να συλλεχθούν σε 1 ημέρα και αυτό το άρθρο είναι αφιερωμένο σε φίλους που μαθαίνουν να σέρνονται.

Σημείωση: Ο αλγόριθμος συμπίεσης gzip δεν έχει καμία σχέση με τη γλώσσα προγραμματισμού!

Τέλος, επισυνάψτε τον πηγαίο κώδικα:

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση

Παρτιτούρα

Αριθμός συμμετεχόντων2ΜΒ+1 συνεισφέρω+2 Κατάρρευση λόγος
Συνδέσεις + 1 Πολύ δυνατό!
Ένας μικρός αρχάριος που του αρέσει να μαθαίνει + 1 + 1 Υποστηρίξτε τον ιδιοκτήτη να δημοσιεύσει μια καλή ανάρτηση, και θα δημοσιεύσω επίσης μια καλή ανάρτηση!.

Δείτε όλες τις αξιολογήσεις





Προηγούμενος:Δημοσιεύονται εκθέσεις για νεοεισερχόμενους στη διεθνή πρακτική
Επόμενος:.net/c# Σύστημα αναγνώρισης CAPTCHA επόμενης γενιάς 2.3 Tutorial
Δημοσιεύτηκε στις 31/12/2019 10:48:25 π.μ. |
Ο Xiaobai δεν μπορούσε να πληγωθεί. Υπάρχει κάποιο λογισμικό παρόμοιο με τη συλλογή μεγάλων δεδομένων με ένα κλικ;
Δημοσιεύτηκε στις 10/6/2019 2:11:09 μ.μ. |
Ο Xiaobai δεν μπορούσε να πληγωθεί. Υπάρχει κάποιο λογισμικό παρόμοιο με τη συλλογή μεγάλων δεδομένων με ένα κλικ;
Δημοσιεύτηκε στις 15/10/2019 10:29:57 π.μ. |
ΓΚΑΝΤΖΟΥΕΤΙΝΓΚΧΑΟΟΥΑΝΤΕ ΚΑΝ
Δημοσιεύτηκε στις 20/4/2018 12:35:21 μ.μ. |
Σας ευχαριστούμε που μοιραστήκατε
Δημοσιεύτηκε στις 25/4/2018 11:33:55 π.μ. |
Συλλογή, ίσως χρήσιμη.
Δημοσιεύτηκε στις 17/5/2018 6:02:21 μ.μ. |
Ο δρόμος προς τη συλλογή βελτιστοποίησης ανιχνευτών Ιστού
Δημοσιεύτηκε στις 18/5/2018 4:10:57 μ.μ. |
οοοο
Δημοσιεύτηκε στις 18/7/2018 2:43:07 μ.μ. |
Δείτε αν λειτουργεί
Δημοσιεύτηκε στις 20/7/2018 10:09:50 π.μ. |
ΝΤΑΝΤΑΣΝΤΣΑΝΤ
Δημοσιεύτηκε στις 13/8/2018 1:06:50 μ.μ. |
Ελέγξτε αυτόν τον πηγαίο κώδικα
Δημοσιεύτηκε στις 20/8/2018 2:00:52 μ.μ. |

Ευχαριστώ που το μοιράστηκες
Δημοσιεύτηκε στις 30/8/2018 11:42:26 π.μ. |
srkskrskrskrskrskr
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com