Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 585936|Svar: 70

[Konsolprogram] .net/c# Vägen till webbcrawleroptimering

  [Kopiera länk]
Publicerad på 2018-04-19 14:21:02 | | | |
0x00

En webbcrawler (även känd som en webbspindel, webbbot, oftare kallad webbjagare inom FOAF-gemenskapen) är ett program eller skript som automatiskt skrapar information om World Wide Web enligt vissa regler. Andra mindre vanliga namn inkluderar myror, autoindex, simulatorer eller maskar.

0x01

Enkelt uttryckt samlar crawlers data enligt sina egna regler, analyserar den infångade datan och får sedan användbar data för sig själva.

0x02

Optimering av webbcrawlare kan delas in i två steg:

1: Optimera vid dataskraping;

2: Optimera bearbetningen av greppresultat;

Idag pratar vi bara om optimering i skrapaprocessen!

0x03

Jag har sammanfattat några punkter om optimeringen i crawling-processen:

1: Den kan optimeras på den fysiska adressen, till exempel: målresursservern är Tencent Clouds värd i Shanghai, vi försöker välja servern i samma region, det vill säga servern i Shanghai-regionen, vi väljer inte servern i Peking, Qingdao och andra regioner, utan försöker också välja servern i samma IDC-datorrum, vi vet att denna resurswebbplats är Tencent Clouds server, vi försöker lägga sökaren på Tencent Clouds server, inte på Alibaba Cloud-servern!

2: Välj ett stabilt och snabbt nätverk, generellt sett har sökare höga krav på nätverkskvalitet, försök att inte använda hemnätverket, välj företagets nätverk eller köp en server för att samla in data.

3: Välj ett mer effektivt crawler-språk, jag har hört att python är bättre på crawlers, men jag har inte använt det, och jag ska testa det senare, idag förklarar jag det främst på .net-språket.

0x04

För saker som rush buying är kraven för att kunna ladda ner snabbt, det kan beskrivas som en tidsfråga, tidigt att få datan, vilket ökar chansen att få den, följande är Jag skrev en demo med konsolen, testet för att hämta data från denna webbplats, som visas i figuren nedan:


(Ju kortare tid, desto snabbare går det)

Ovanstående datarankning:1: Inbyggt optimerad kod, 2: Inbyggd kod, 3: Tredjeparts plug-in dll:er (paket)

0x05

Varför tar tredjepartsplugins (paket) längst tid? Tredjepartsplug-ins består faktiskt av ett stort antal kapslingar av inhemsk kod, ett stort antal logiska bedömningar och relativt mångsidiga, vilket kan leda till långsam kryphastighet.

Här är den inbyggda koden:



Den inbyggda koden är bara några rader ovanför.Genomsnittstiden är fortfarande 184 millisekunder,Ju enklare koden är, desto svårare är det att optimeraKänner du hur ovanstående kod kan optimeras för att uppnå en genomsnittlig tid på 99 millisekunder?Hastighetsskillnaden är dubblad!

0x06

Om målresursservern stödjer gzip-komprimering, kommer begäransökningshuvudet att ha följande parametrar när vi går åt webbplatsen och webbläsaren begär webbplatsen:

Responshuvudets parametrar:






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

På ett enkelt sätt:

Klienten säger:Jag stödjer komprimeringsalgoritmen "gzip, deflate, sdch, br", du kan använda vad du vill när du returnerar data.

Servitören sa:Jag råkar stödja gzip-komprimeringsalgoritmen, så jag kommer att använda gzip-algoritmen för att komprimera datan till dig

Klienten säger:Okej, då kommer jag att dekryptera den mottagna datan med gzip-algoritmen

gzip-algoritmen, som kan komprimera den överförda datan och kraftigt minska det överförda innehållet, så att förfrågningseffektiviteten förbättras, så den optimerade koden är följande:


Även om det är en liten detalj kan man säga att effektiviteten är fördubblad! Det motsvarar den data du samlade in på två dagar, och nu kan den samlas in på en dag, och denna artikel är tillägnad vänner som lär sig crawling.

Notera: Gzip-komprimeringsalgoritmen har inget med programmeringsspråket att göra!

Slutligen, bifoga källkoden:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar

Tjog

Antal deltagare2MB+1 bidra+2 Kollaps förnuft
Conntfs + 1 Mycket kraftfullt!
En liten nybörjare som älskar att lära sig + 1 + 1 Stöd ägaren att posta ett bra inlägg, och jag kommer också att posta ett bra inlägg!

Se alla betyg





Föregående:Rapporter om internationella praktiknykomlingar kommer ut
Nästa:.net/c# Nästa generations CAPTCHA Recognition System 2.3 Handledning
Publicerad på 2019-12-31 10:48:25 |
Xiaobai kunde inte bli skadad. Finns det någon programvara som liknar ett-klick-insamling av big data?
Publicerad på 2019-06-10 14:11:09 |
Xiaobai kunde inte bli skadad. Finns det någon programvara som liknar ett-klick-insamling av big data?
Publicerad på 2019-10-15 10:29:57 |
GANJUETINGHAOWANDE KANN
Publicerad på 2018-04-20 12:35:21 |
Tack för att du delade med dig
Publicerad på 2018-04-25 11:33:55 |
Samling, kanske användbart.
Publicerad på 2018-05-17 18:02:21 |
Vägen till webbcrawleroptimeringssamling
Publicerad på 2018-05-18 16:10:57 |
ooooooooooooooo
Publicerad på 2018-07-18 14:43:07 |
Se om det fungerar
Publicerad på 2018-07-20 10:09:50 |
DADASDSDAD
Publicerad på 2018-08-13 13:06:50 |
Kolla in denna källkod
Publicerad på 2018-08-20 14:00:52 |

Tack för att du delade med dig
Publicerad på 2018-08-30 11:42:26 |
srkskrskrskrskrskrskrskr
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com