Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 585936|Odpoveď: 70

[Konzolový program] .net/c# Cesta k optimalizácii webových crawlerov

  [Kopírovať odkaz]
Zverejnené 19. 4. 2018 14:21:02 | | | |
0x00

Webový prehľadávač (známy aj ako webový pavúk, webbot, v komunite FOAF bežne nazývaný web chaser) je program alebo skript, ktorý automaticky sťahuje informácie o World Wide Web podľa určitých pravidiel. Medzi menej používané názvy patria mravce, auto-indexy, simulátory alebo červy.

0x01

Jednoducho povedané, crawlery získavajú dáta podľa vlastných pravidiel, analyzujú ich a potom získavajú užitočné údaje pre seba.

0x02

Optimalizáciu webových prehľadávačov možno rozdeliť na dve fázy:

1: Optimalizovať pri scrapingu dát;

2: Optimalizovať spracovanie výsledkov uchopenia;

Dnes sa bavíme len o optimalizácii v procese scrapingu!

0x03

Zhrnul som niekoľko bodov o optimalizácii v procese prehľadávania:

1: Môže byť optimalizovaný podľa fyzickej adresy, napríklad: cieľový zdrojový server je Tencent Cloud hostiteľ v Šanghaji, snažíme sa vybrať server v rovnakom regióne, teda server v regióne Šanghaj, nevyberáme server v Pekingu, Qingdao a iných regiónoch, ale tiež sa snažíme vybrať server v tej istej počítačovej miestnosti IDC, vieme, že táto zdrojová stránka je server Tencent Cloud, snažíme sa umiestniť crawler na Tencent Cloud server, nie na Alibaba Cloud server!

2: Vyberte stabilnú a rýchlu sieť, vo všeobecnosti majú crawlery vysoké požiadavky na kvalitu siete, snažte sa nepoužívať domácu sieť, vyberte si firemnú sieť alebo si kúpte server na zachytávanie dát.

3: Vyberte efektívnejší crawler jazyk, počul som, že python je lepší v crawleroch, ale nepoužil som ho a neskôr to otestujem, dnes to hlavne vysvetľujem v .net jazyku.

0x04

Pri veciach ako rýchly nákup sú požiadavky na rýchlosť chytania vysoké, dá sa to opísať ako otázka času, skoro, aby ste získali dáta, zvyšuje sa šanca na získanie, nasledujúca je, že som napísal demo s konzolou, test získavania dát z tejto webovej stránky, ako je znázornené na obrázku nižšie:


(Čím kratší čas, tým rýchlejší)

Vyššie uvedené poradie údajov:1: Natívne optimalizovaný kód, 2: Natívny kód, 3: Doplnkové DLL (balíčky) tretích strán

0x05

Prečo pluginy tretích strán (balíky) trvajú najdlhšie? Plug-iny tretích strán sú v skutočnosti veľké množstvo enkapsulácií natívneho kódu, veľké množstvo logických úsudkov a relatívne univerzálne, čo môže viesť k pomalému prehľadávaniu.

Tu je natívny kód:



Natívny kód je len o pár riadkov vyššie.Priemerný čas je stále 184 milisekúnd,Čím jednoduchší kód, tým ťažšie sa optimalizujeMyslíte si, že ako by sa vyššie uvedený kód dal optimalizovať na dosiahnutie priemerného času 99 milisekúnd?Rozdiel v rýchlosti sa zdvojnásobil!

0x06

Ak cieľový zdrojový server podporuje kompresiu gzip, keď pristupujeme na webovú stránku a prehliadač si ju vyžiada, hlavička požiadavky bude mať nasledujúce parametre:

Parametre hlavičky odpovede:






Úvod do "akceptačného kódovania": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Laicky povedané:

Klient hovorí:Podporujem kompresný algoritmus "gzip, deflate, sdch, br", pri vrátení dát môžete použiť čokoľvek.

Server uviedol:Podporujem kompresný algoritmus gzip, takže použijem algoritmus gzip na komprimovanie dát k vám

Klient hovorí:Dobre, potom dešifrujem prijaté dáta pomocou algoritmu gzip

algoritmus gzip, ktorý dokáže komprimovať prenášané dáta a výrazne znížiť prenášaný obsah, čím sa zlepší efektivita požiadaviek, takže optimalizovaný kód je nasledovný:


Aj keď je to malý detail, účinnosť sa dá povedať dvojnásobnou! Je to ekvivalent dát, ktoré ste nazbierali za dva dni, a teraz ich možno zozbierať za jeden deň, a tento článok je venovaný priateľom, ktorí sa učia crawling.

Poznámka: Algoritmus kompresie gzip nemá nič spoločné s programovacím jazykom!

Nakoniec pripojte zdrojový kód:

Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím.Odpoveď

Skóre

Počet účastníkov2MB+1 prispieť+2 Kolaps dôvod
conntfs + 1 Veľmi silné!
Malý začiatočník, ktorý miluje učenie + 1 + 1 Podporte majiteľa, aby zverejnil dobrý príspevok, a ja tiež pridám dobrý príspevok!

Zobraziť všetky hodnotenia





Predchádzajúci:Prichádzajú správy nováčikov z medzinárodnej praxe
Budúci:.net/c# Nová generácia CAPTCHA rozpoznávacieho systému 2.3 Tutoriál
Zverejnené 31. 12. 2019 10:48:25 |
Xiaobai sa nemohol zraniť. Existuje nejaký softvér podobný zberu veľkých dát jedným kliknutím?
Zverejnené 10. 6. 2019 14:11:09 |
Xiaobai sa nemohol zraniť. Existuje nejaký softvér podobný zberu veľkých dát jedným kliknutím?
Zverejnené 15. 10. 2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Zverejnené 20. 4. 2018 12:35:21 |
Ďakujem, že ste sa podelili
Zverejnené 25. 4. 2018 11:33:55 |
Zbierka, možno užitočná.
Zverejnené 17. 5. 2018 18:02:21 |
Cesta k optimalizácii webových prehľadávačov – kolekcia
Zverejnené 18. 5. 2018 16:10:57 |
oo
Zverejnené 18. 7. 2018 14:43:07 |
Uvidíme, či to funguje
Zverejnené 20. 7. 2018 10:09:50 |
DADASDSADSAD
Zverejnené 13. 8. 2018 13:06:50 |
Pozrite si tento zdrojový kód
Zverejnené 20. 8. 2018 14:00:52 |

Ďakujem za zdieľanie
Zverejnené 30. 8. 2018 11:42:26 |
Srkskrskrskr
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com