Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 585936|Antwoord: 70

[Consoleprogramma] .net/c# Het pad naar webcrawleroptimalisatie

  [Link kopiëren]
Geplaatst op 19-04-2018 14:21:02 | | | |
0x00

Een web crawler (ook bekend als een web spider, webbot, vaker bekend als een web chaser in de FOAF-gemeenschap) is een programma of script dat automatisch informatie over het World Wide Web scrapt volgens bepaalde regels. Andere, minder vaak gebruikte namen zijn mieren, auto-indexen, simulatoren of wormen.

0x01

Simpel gezegd verzamelen crawlers data volgens hun eigen regels, analyseren de verzamelde data en verkrijgen vervolgens bruikbare data voor zichzelf.

0x02

Webcrawleroptimalisatie kan worden onderverdeeld in twee fasen:

1: Optimaliseren bij het scrapen van data;

2: Optimaliseren van de verwerking van grijpresultaten;

Vandaag hebben we het gewoon over optimalisatie in het scrapingproces!

0x03

Ik heb een paar punten samengevat over de optimalisatie in het crawlingproces:

1: Het kan worden geoptimaliseerd op het fysieke adres, bijvoorbeeld: de doelresourceserver is de Tencent Cloud-host in Shanghai, we proberen de server in dezelfde regio te kiezen, dat wil zeggen de server in de Shanghai-regio, kiezen niet de server in Beijing, Qingdao en andere regio's, maar proberen ook de server in dezelfde IDC-computerruimte te kiezen, we weten dat deze resourcewebsite de server van Tencent Cloud is, we proberen de crawler op de Tencent Cloud-server te plaatsen, niet op de Alibaba Cloud-server!

2: Kies een stabiel en snel netwerk, crawlers stellen over het algemeen hoge eisen aan netwerkkwaliteit, probeer het thuisnetwerk niet te gebruiken, kies het bedrijfsnetwerk of koop een server om data vast te leggen.

3: Kies een efficiëntere crawlertaal, ik heb gehoord dat Python beter is in crawlers, maar ik heb het niet gebruikt, en ik zal het later testen, vandaag leg ik het vooral uit in de .net-taal.

0x04

Voor zaken als snel kopen zijn de eisen voor het snel grijpen hoog, het kan worden omschreven als een kwestie van tijd, vroeg om de data te krijgen, wat de kans op het ophalen verhoogt, het volgende is: Ik schreef een demo met de console, de test om de data van deze website te verzamelen, zoals te zien is in de onderstaande figuur:


(Hoe korter de tijd, hoe sneller het gaat)

De bovenstaande datarangschikking:1: Native geoptimaliseerde code, 2: Native code, 3: Third-party plug-in dlls (pakketten)

0x05

Waarom doen plugins (pakketten) van derden het langst over? Plug-ins van derden zijn eigenlijk een groot aantal encapsulaties van native code, een groot aantal logische oordelen en relatief veelzijdig, wat kan leiden tot een trage kruipsnelheid.

Hier is de native code:



De native code staat slechts een paar regels erboven.De gemiddelde tijd is nog steeds 184 milliseconden,Hoe eenvoudiger de code, hoe moeilijker het is om te optimaliserenDenk je dat hoe bovenstaande code geoptimaliseerd kan worden om een gemiddelde tijd van 99 milliseconden te bereiken?Het snelheidsverschil is verdubbeld!

0x06

Als de doelresourceserver gzip-compressie ondersteunt, zal de request-header bij het openen van de website en de browser de website aanvragen, de volgende parameters hebben:

Responsheaderparameters:






Inleiding tot "Accept-Encoding": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

In gewone taal:

De cliënt zegt:Ik steun het compressie-algoritme "gzip, deflate, sdch, br", je kunt gebruiken wat je wilt bij het teruggeven van data.

De ober zei:Ik ondersteun toevallig het gzip-compressie-algoritme, dus ik zal het gzip-algoritme gebruiken om de data naar jou te comprimeren

De cliënt zegt:Oké, dan ontsleutel ik de ontvangen data met het gzip-algoritme

het gzip-algoritme, dat de verzonden data kan comprimeren en de verzonden inhoud sterk kan verminderen, waardoor de aanvraagefficiëntie wordt verbeterd, waardoor de geoptimaliseerde code als volgt is:


Hoewel het een klein detail is, kan men zeggen dat de efficiëntie verdubbeld is! Het is gelijk aan de data die je in twee dagen hebt verzameld, en nu kan het in 1 dag worden verzameld, en dit artikel is gewijd aan vrienden die leren crawlen.

Opmerking: Het gzip-compressie-algoritme heeft niets met de programmeertaal te maken!

Voeg tenslotte de broncode bij:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord

Partituur

Aantal deelnemers2MB+1 bijdragen+2 Instorting reden
conntfs + 1 Heel krachtig!
Een kleine beginner die graag leert + 1 + 1 Steun de eigenaar om een goed bericht te plaatsen, en ik zal ook een goed bericht plaatsen!

Bekijk alle beoordelingen





Vorig:Nieuwkomersrapporten van internationale praktijken verschijnen
Volgend:.net/c# Next-Generation CAPTCHA Recognition System 2.3 Tutorial
Geplaatst op 31-12-2019 10:48:25 |
Xiaobai mocht geen pijn krijgen. Is er software die lijkt op het verzamelen van big data met één klik?
Geplaatst op 10-06-2019 14:11:09 |
Xiaobai mocht geen pijn krijgen. Is er software die lijkt op het verzamelen van big data met één klik?
Geplaatst op 15-10-2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Geplaatst op 20-04-2018 12:35:21 |
Bedankt voor het delen
Geplaatst op 25-04-2018 11:33:55 |
Verzameling, misschien nuttig.
Geplaatst op 17-05-2018 18:02:21 |
De weg naar webcrawleroptimalisatiecollectie
Geplaatst op 18-05-2018 16:10:57 |
ooooooooooooooo
Geplaatst op 18-07-2018 14:43:07 |
Kijk of het werkt
Geplaatst op 20-07-2018 10:09:50 |
DADASDSDADAD
Geplaatst op 13-08-2018 13:06:50 |
Bekijk deze broncode
Geplaatst op 20-08-2018 14:00:52 |

Bedankt voor het delen
Geplaatst op 30-08-2018 11:42:26 |
srkskrskrskrskrskr
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com