Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 585936|Antwort: 70

[Konsolenprogramm] .net/c# Der Weg zur Webcrawler-Optimierung

  [Link kopieren]
Veröffentlicht am 19.04.2018 14:21:02 | | | |
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, bitteAntwort

Punktzahl

Anzahl der Teilnehmer2MB+1 beitragen+2 Zusammenbruch Grund
conntfs + 1 Sehr mächtig!
Ein kleiner Anfänger, der gerne lernt + 1 + 1 Unterstütze den Inhaber, einen guten Beitrag zu posten, und ich werde auch einen guten Beitrag posten!

Alle Bewertungen sehen





Vorhergehend:Internationale Trainingsberichte von Neulingen erscheinen
Nächster:.net/c# Next-Generation CAPTCHA Recognition System 2.3 Tutorial
Veröffentlicht am 31.12.2019 10:48:25 |
Xiaobai durfte nicht verletzt werden. Gibt es eine Software, die der Ein-Klick-Sammlung von Big Data ähnelt?
Veröffentlicht am 10.06.2019 14:11:09 |
Xiaobai durfte nicht verletzt werden. Gibt es eine Software, die der Ein-Klick-Sammlung von Big Data ähnelt?
Veröffentlicht am 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Veröffentlicht am 20.04.2018 12:35:21 |
Danke fürs Teilen
Veröffentlicht am 25.04.2018 11:33:55 |
Sammlung, vielleicht nützlich.
Veröffentlicht am 17.05.2018 18:02:21 |
Der Weg zur Sammlung der Webcrawler-Optimierung
Veröffentlicht am 18.05.2018 16:10:57 |
ooooooooooooooo
Veröffentlicht am 18.07.2018 14:43:07 |
Schau, ob es funktioniert
Veröffentlicht am 20.07.2018 10:09:50 |
DADASDSADSAD
Veröffentlicht am 13.08.2018 13:06:50 |
Schau dir diesen Quellcode an
Veröffentlicht am 20.08.2018 14:00:52 |

Danke fürs Teilen
Veröffentlicht am 30.08.2018 11:42:26 |
srkskrskrskrskrskrskr
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com