Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 585936|Svare: 70

[Konsollprogram] .net/c# Veien til optimalisering av webcrawlere

  [Kopier lenke]
Publisert på 19.04.2018 14:21:02 | | | |
0x00

En web crawler (også kjent som en web spider, web bot, oftere kalt en web chaser i FOAF-miljøet) er et program eller skript som automatisk skraper informasjon om World Wide Web i henhold til visse regler. Andre mindre brukte navn inkluderer maur, autoindekser, simulatorer eller.

0x01

For å si det enkelt, henter crawlere data etter sine egne regler, analyserer de innsamlede dataene, og skaffer deretter nyttige data til seg selv.

0x02

Optimalisering av webcrawlere kan deles inn i to trinn:

1: Optimalisere når du skraper data;

2: Optimalisere behandlingen av griperesultater;

I dag snakker vi bare om optimalisering i skrapeprosessen!

0x03

Jeg har oppsummert noen punkter om optimaliseringen i crawling-prosessen:

1: Det kan optimaliseres på den fysiske adressen, for eksempel: målressursserveren er Tencent Cloud-verten i Shanghai, vi prøver å velge serveren i samme region, altså serveren i Shanghai-regionen, vi velger ikke serveren i Beijing, Qingdao og andre regioner, men prøver også å velge serveren i samme IDC-datarom, vi vet at denne ressursnettsiden er serveren til Tencent Cloud, vi prøver å legge crawleren på Tencent Cloud-serveren, ikke på Alibaba Cloud-serveren!

2: Velg et stabilt og raskt nettverk, generelt har crawlere høye krav til nettverkskvalitet, prøv å ikke bruke hjemmenettverket, velg firmanettverket eller kjøp en server for å fange data.

3: Velg et mer effektivt crawler-språk, jeg har hørt at python er bedre på crawlere, men jeg har ikke brukt det, og jeg skal teste det senere, i dag forklarer jeg det hovedsakelig på .net-språket.

0x04

For ting som rush-kjøp er kravene for nedlastingshastighet høye, det kan beskrives som et tidsspørsmål, tidlig å få dataene, øke sjansen for å få tak i det, følgende er Jeg skrev en demo med konsollen, testen for å hente dataene fra dette nettstedet, som vist i figuren nedenfor:


(Jo kortere tid, jo raskere går det)

Rangeringen av dataene ovenfor:1: Naturlig optimalisert kode, 2: Native kode, 3: Tredjeparts plug-in dll-er (pakker)

0x05

Hvorfor tar tredjeparts plugins (pakker) lengst tid? Tredjeparts-plugins er faktisk et stort antall innkapslinger av native kode, et stort antall logiske vurderinger og relativt allsidige, noe som kan føre til langsom krypehastighet.

Her er den opprinnelige koden:



Den opprinnelige koden er bare noen få linjer over.Gjennomsnittstiden er fortsatt 184 millisekunder,Jo enklere koden er, desto vanskeligere er det å optimalisereFøler du hvordan koden ovenfor kan optimaliseres for å oppnå en gjennomsnittlig tid på 99 millisekunder?Fartsforskjellen er doblet!

0x06

Hvis målressursserveren støtter gzip-komprimering, vil forespørselsheaderen ha følgende parametere når vi får tilgang til nettstedet og nettleseren ber om nettstedet:

Responsheader-parametere:






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

På enkle mangler:

Klienten sier:Jeg støtter komprimeringsalgoritmen "gzip, deflate, sdch, br", du kan bruke hva du vil når du returnerer data.

Servitøren sa:Jeg støtter gzip-komprimeringsalgoritmen, så jeg vil bruke gzip-algoritmen for å komprimere dataene til deg

Klienten sier:Ok, da vil jeg dekryptere de mottatte dataene med gzip-algoritmen

GZIP-algoritmen, som kan komprimere de overførte dataene og kraftig redusere det overførte innholdet, slik at forespørselseffektiviteten vil bli forbedret, slik at den optimaliserte koden er som følger:


Selv om det er en liten detalj, kan effektiviteten sies å være doblet! Det tilsvarer dataene du samlet inn på to dager, og nå kan det samles inn på én dag, og denne artikkelen er dedikert til venner som lærer seg crawling.

Merk: Gzip-komprimeringsalgoritmen har ingenting med programmeringsspråket å gjøre!

Til slutt, legg ved kildekoden:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare

Score

Antall deltakere2MB+1 bidra+2 Sammenbrudd grunn
Conntfs + 1 Veldig kraftig!
En liten nybegynner som elsker å lære + 1 + 1 Støtt eieren til å poste et godt innlegg, og jeg vil også poste et godt innlegg!

Se alle vurderinger





Foregående:Rapporter om nykommere i internasjonal praksis kommer ut
Neste:.net/c# Neste generasjons CAPTCHA gjenkjenningssystem 2.3 Veiledning
Publisert på 31.12.2019 10:48:25 |
Xiaobai kunne ikke bli skadet. Finnes det programvare som ligner ett-klikk-innsamling av big data?
Publisert på 10.06.2019 14:11:09 |
Xiaobai kunne ikke bli skadet. Finnes det programvare som ligner ett-klikk-innsamling av big data?
Publisert på 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Publisert på 20.04.2018 12:35:21 |
Takk for at du delte
Publisert på 25.04.2018 11:33:55 |
Samling, kanskje nyttig.
Publisert på 17.05.2018 18:02:21 |
Veien til samling av nettcrawleroptimalisering
Publisert på 18.05.2018 16:10:57 |
ooooooooooooooo
Publisert på 18.07.2018 14:43:07 |
Se om det fungerer
Publisert på 20.07.2018 10:09:50 |
DADASDSADSAD
Publisert på 13.08.2018 13:06:50 |
Sjekk ut denne kildekoden
Publisert på 20.08.2018 14:00:52 |

Takk for at du delte
Publisert på 30.08.2018 11:42:26 |
srkskrskrskrskrskrskr
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com