See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 585936|Vastuse: 70

[Konsooliprogramm] .net/c# Tee veebikraapija optimeerimiseni

  [Kopeeri link]
Postitatud 19.04.2018 14:21:02 | | | |
0x00

Veebikraapija (tuntud ka kui ämblik, veebibot, FOAF kogukonnas sagedamini kui veebijälitaja) on programm või skript, mis automaatselt kraabib infot World Wide Webi kohta vastavalt teatud reeglitele. Teised harvemini kasutatavad nimed on sipelgad, auto-indeksid, simulaatorid või ussid.

0x01

Lihtsalt öeldes koguvad roomikud andmeid vastavalt oma reeglitele, analüüsivad salvestatud andmeid ja hangivad seejärel ise kasulikke andmeid.

0x02

Veebiroomiku optimeerimine jaguneb kaheks etapiks:

1: Optimeeri andmete kraapimisel;

2: Optimeerida haaramistulemuste töötlemist;

Täna räägime lihtsalt optimeerimisest kraapimisprotsessis!

0x03

Olen kokku võtnud mõned punktid optimeerimise kohta indekseerimisprotsessis:

1: Seda saab optimeerida füüsilisel aadressil, näiteks: sihtressursiserver on Tencent Cloud hosti Shanghais, püüame valida serveri samas piirkonnas, st serveri Shanghai piirkonnas, mitte valida serverit Pekingis, Qingdaos ja teistes piirkondades, vaid proovime valida serverit samast IDC arvutiruumist, me teame, et see ressursside veebileht on Tencent Cloud server, püüame panna roomaja Tencent Cloud serverile, mitte Alibaba Cloud serverile!

2: Vali stabiilne ja kiire võrk, üldiselt on roomikutel kõrged võrgukvaliteedi nõuded, püüa mitte kasutada koduvõrku, vali ettevõtte võrk või osta server andmete kogumiseks.

3: Vali efektiivsem roomiku keel, olen kuulnud, et Python on roomajates parem, aga ma pole seda kasutanud ja testin seda hiljem, täna selgitan peamiselt .net keeles.

0x04

Näiteks kiirustamise puhul on haaramiskiiruse nõuded kõrged, seda võib kirjeldada kui aja küsimust, varakult andmete hankimist, mis suurendab haaramise tõenäosust, järgnevalt kirjutasin konsooliga demo, testi selle veebisaidi andmete kogumiseks, nagu alloleval joonisel näidatud:


(Mida lühem aeg, seda kiirem)

Ülaltoodud andmete järjestus:1: Natiivselt optimeeritud kood, 2: Natiivkood, 3: Kolmanda osapoole plug-in DLL-id (paketid)

0x05

Miks võtavad kolmanda osapoole pluginad (paketid) kõige kauem aega? Kolmanda osapoole pluginad on tegelikult suur hulk natiivse koodi kapseldamisi, palju loogilisi hinnanguid ja suhteliselt mitmekülgne, mis võib viia aeglase roomamiskiiruseni.

Siin on natiivkood:



Natiivkood on vaid paar rida kõrgemal.Keskmine aeg on endiselt 184 millisekundit,Mida lihtsam kood, seda raskem on seda optimeeridaKas tunnete, kuidas saaks ülaltoodud koodi optimeerida, et saavutada keskmine aeg 99 millisekundit?Kiiruse on kahekordne!

0x06

Kui sihtressursiserver toetab gzip-i tihendamist, siis kui me veebilehele ligi pääseme ja brauser seda pärib, on päringupäisel järgmised parameetrid:

Vastuse päise parameetrid:






Sissejuhatus "Accept-Encodingu" juurde: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Lihtsas keeles:

Klient ütleb:Toetan "gzip, deflate, sdch, br" tihendusalgoritmi, saad andmete tagastamisel kasutada mida iganes soovid.

Server ütles:Ma toetan gzip tihendusalgoritmi, seega kasutan gzip algoritmi, et andmed sulle tihendada

Klient ütleb:Olgu, siis dekrüpteerin saadud andmed gzip-algoritmiga

GZIP algoritm, mis suudab edastatud andmeid tihendada ja oluliselt vähendada edastatud sisu, seega paraneb päringute efektiivsus, seega optimeeritud kood on järgmine:


Kuigi see on väike detail, võib öelda, et efektiivsus on kahekordistunud! See on võrdne andmetega, mida kogusid kahe päevaga, ja nüüd saab seda koguda ühe päevaga ning see artikkel on pühendatud sõpradele, kes õpivad roomamist.

Märkus: gzip-i tihendusalgoritmil pole programmeerimiskeelega mingit pistmist!

Lõpuks lisa lähtekood:

Turistid, kui soovite näha selle postituse peidetud sisu, palunVastuse

Skoor

Osalejate arv2MB+1 Aitavad kaasa+2 Ahenda põhjus
Conntfs + 1 Väga võimas!
Väike algaja, kes armastab õppida + 1 + 1 Toeta omanikku, et ta postitaks hea postituse, ja ma teen ka hea postituse!

Vaata kõiki hinnanguid





Eelmine:Rahvusvaheliste praktikate uute tulijate aruanded ilmuvad
Järgmine:.net/c# Järgmise põlvkonna CAPTCHA Tuvastussüsteem 2.3 Õpetus
Postitatud 31.12.2019 10:48:25 |
Xiaobai ei saanud haiget saada. Kas on olemas tarkvara, mis sarnaneb suurandmete üheklõpsuga kogumisele?
Postitatud 10.06.2019 14:11:09 |
Xiaobai ei saanud haiget saada. Kas on olemas tarkvara, mis sarnaneb suurandmete üheklõpsuga kogumisele?
Postitatud 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Postitatud 20.04.2018 12:35:21 |
Aitäh, et jagasid
Postitatud 25.04.2018 11:33:55 |
Kogumine, võib-olla kasulik.
Postitatud 17.05.2018 18:02:21 |
Tee veebikraapija optimeerimise koguni
Postitatud 18.05.2018 16:10:57 |
ooooooo
Postitatud 18.07.2018 14:43:07 |
Vaata, kas see töötab
Postitatud 20.07.2018 10:09:50 |
DADASDSADSAD
Postitatud 13.08.2018 13:06:50 |
Vaata seda lähtekoodi
Postitatud 20.08.2018 14:00:52 |

Aitäh, et jagasid
Postitatud 30.08.2018 11:42:26 |
srkskrskrskrskr
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com