0x00
Ein Webcrawler (auch bekannt als Web Spider, Webbot, in der FOAF-Community häufiger als Web Chaser bezeichnet) ist ein Programm oder Skript, das automatisch Informationen über das World Wide Web gemäß bestimmten Regeln sammelt. Andere weniger gebräuchliche Namen sind Ameisen, Auto-Indexes, Simulatoren oder Würmer.
0x01
Einfach ausgedrückt: Crawler erfassen Daten nach ihren eigenen Regeln, analysieren die erfassten Daten und erhalten dann nützliche Daten für sich selbst.
0x02
Die Optimierung von Webcrawlern lässt sich in zwei Phasen unterteilen:
1: Optimieren beim Scraping von Daten;
2: Optimierung der Verarbeitung von Greif-Ergebnissen;
Heute sprechen wir einfach über Optimierung im Scraping-Prozess!
0x03
Ich habe einige Punkte zur Optimierung im Crawling-Prozess zusammengefasst:
1: Er kann auf die physische Adresse optimiert werden, zum Beispiel: Der Ziel-Ressourcenserver ist der Tencent Cloud Host in Shanghai, wir versuchen, den Server in derselben Region auszuwählen, also den Server in der Shanghai-Region, wählen nicht den Server in Peking, Qingdao und anderen Regionen, sondern auch den Server im selben IDC-Computerraum. Wir wissen, dass diese Ressourcen-Website der Server von Tencent Cloud ist, wir versuchen, den Crawler auf den Tencent Cloud-Server zu legen, nicht auf dem Alibaba-Cloud-Server!
2: Wähle ein stabiles und schnelles Netzwerk, Crawler haben in der Regel hohe Anforderungen an die Netzwerkqualität, versuche, das Heimnetzwerk nicht zu nutzen, wähle das Firmennetzwerk oder kaufe einen Server zur Datenerfassung.
3: Wähle eine effizientere Crawler-Sprache. Ich habe gehört, dass Python besser für Crawler ist, aber ich habe es nicht benutzt und werde es später testen, heute erkläre ich es hauptsächlich in .NET.
0x04
Für Dinge wie Schnellkäufe sind die Anforderungen für die Nutzgeschwindigkeit hoch, es lässt sich als eine Frage der Zeit beschreiben: Frühzeitig, um die Daten zu bekommen, erhöht die Chance, sie zu greifen, im Folgenden habe ich eine Demo mit der Konsole geschrieben, den Test, die Daten dieser Website zu sammeln, wie in der untenstehenden Abbildung gezeigt:
(Je kürzer die Zeit, desto schneller)
Die obige Datenbewertung:1: Nativ optimierter Code, 2: nativer Code, 3: Drittanbieter-Plug-in-DLLs (Pakete)
0x05
Warum brauchen Drittanbieter-Plugins (Pakete) am längsten? Drittanbieter-Plug-ins sind tatsächlich eine große Anzahl von Kapselungen nativen Codes, eine Vielzahl logischer Urteile und relativ vielseitig, was zu einer langsamen Kriechgeschwindigkeit führen kann.
Hier ist der native Code:
Der native Code ist nur ein paar Zeilen darüber.Die durchschnittliche Zeit beträgt immer noch 184 Millisekunden,Je einfacher der Code, desto schwieriger ist die OptimierungGlauben Sie, wie man den oben genannten Code so optimieren kann, dass eine durchschnittliche Zeit von 99 Millisekunden erreicht wird?Der Geschwindigkeitsunterschied verdoppelt sich!
0x06
Wenn der Zielressourcenserver gzip-Kompression unterstützt, hat der Anfrage-Header beim Zugriff auf die Website und der Browser die Website anfordernd folgende Parameter:
Parameter des Response Header:
Einführung in die "Accept-Encoding": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding
Laienhaft ausgedrückt:
Der Kunde sagt:Ich unterstütze den Kompressionsalgorithmus "gzip, deflate, sdch, br", du kannst verwenden, was du willst, wenn du Daten zurückgibst.
Der Kellner sagte:Ich unterstütze zufällig den Gzip-Kompressionsalgorithmus, daher werde ich den Gzip-Algorithmus verwenden, um die Daten für dich zu komprimieren
Der Kunde sagt:Okay, dann entschlüssele ich die empfangenen Daten mit dem gzip-Algorithmus
GZIP-Algorithmus, der die übertragenen Daten komprimieren und den übertragenen Inhalt stark reduzieren kann, sodass die Anforderungseffizienz verbessert wird und der optimierte Code wie folgt aussieht:
Obwohl es ein kleines Detail ist, kann man sagen, dass die Effizienz verdoppelt wird! Es entspricht den Daten, die du in zwei Tagen gesammelt hast, und jetzt kann es an einem Tag gesammelt werden, und dieser Artikel ist Freunden gewidmet, die das Crawlen lernen.
Hinweis: Der Gzip-Kompressionsalgorithmus hat nichts mit der Programmiersprache zu tun!
Zum Schluss fügen Sie den Quellcode an:
Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
|