Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 585936|Odpověď: 70

[Konzolový program] .net/c# Cesta k optimalizaci webového crawleru

  [Kopírovat odkaz]
Zveřejněno 19.04.2018 14:21:02 | | | |
0x00

Webový crawler (také známý jako webový pavouk, webový bot, v komunitě FOAF běžněji nazývaný web chaser) je program nebo skript, který automaticky stahuje informace o World Wide Web podle určitých pravidel. Mezi méně často používané názvy patří mravenci, auto-indexy, simulátory nebo červi.

0x01

Jednoduše řečeno, crawlery sbírají data podle svých vlastních pravidel, analyzují zachycená data a poté získávají užitečná data pro sebe.

0x02

Optimalizace pro webové crawlery se dá rozdělit do dvou fází:

1: Optimalizovat při scrapování dat;

2: Optimalizovat zpracování výsledků uchopení;

Dnes mluvíme jen o optimalizaci procesu scrapingu!

0x03

Shrnul jsem několik bodů o optimalizaci v procesu procházení:

1: Lze optimalizovat na fyzické adrese, například: cílový zdrojový server je Tencent Cloud host v Šanghaji, snažíme se vybrat server ve stejném regionu, tedy server v regionu Šanghaje, nevybíráme server v Pekingu, Qingdao a dalších regionech, ale také se snažíme vybrat server ve stejné počítačové místnosti IDC, víme, že tento zdrojový web je server Tencent Cloud, snažíme se umístit crawler na server Tencent Cloud, ne na Alibaba Cloud server!

2: Vyberte stabilní a rychlou síť, obecně mají crawlery vysoké požadavky na kvalitu sítě, snažte se nepoužívat domácí síť, vyberte firemní síť nebo si kupte server pro sběr dat.

3: Vyberte efektivnější crawler, slyšel jsem, že python je lepší v crawlerech, ale nepoužil jsem ho a dnes to otestuji, hlavně to vysvětlím v .net jazyce.

0x04

U věcí jako rychlé nákupy jsou požadavky na rychlost stahování vysoké, lze to popsat jako otázku času, brzy získat data, zvýšit šanci na získání, následuje test sbírání dat z této webové stránky, jak je znázorněno na obrázku níže:


(Čím kratší čas, tím rychlejší)

Výše uvedené pořadí dat:1: Nativně optimalizovaný kód, 2: Nativní kód, 3: Externí plug-in DLL (balíčky)

0x05

Proč třetí strany (balíčky) trvají nejdéle? Plug-iny třetích stran jsou ve skutečnosti velké množství zapouzdření nativního kódu, velké množství logických úsudků a jsou relativně univerzální, což může vést k pomalému prohrabávání kódu.

Tady je nativní kód:



Nativní kód je jen o pár řádků výše.Průměrná doba je stále 184 milisekund,Čím jednodušší kód, tím těžší je optimalizovatMyslíte si, jak lze výše uvedený kód optimalizovat tak, aby dosáhl průměrného času 99 milisekund?Rozdíl v rychlosti se zdvojnásobil!

0x06

Pokud cílový resource server podporuje kompresi gzip, při přístupu na web a prohlížeč si web vyžádá, bude hlavička požadavku obsahovat následující parametry:

Parametry hlavičky odpovědi:






Úvod do "Accept-Encoding": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Laicky řečeno:

Klient říká:Podporuji kompresní algoritmus "gzip, deflate, sdch, br", můžete použít cokoli při vracení dat.

Server uvedl:Podporuji kompresní algoritmus gzip, takže použiji algoritmus gzip k komprimaci dat k vám

Klient říká:Dobře, pak dešifruji přijatá data pomocí algoritmu gzip

algoritmus gzip, který dokáže komprimovat přenesená data a výrazně snížit přenášený obsah, takže efektivita požadavků se zlepší, optimalizovaný kód je následující:


Ačkoliv je to malý detail, lze říci, že účinnost je dvojnásobná! Je to ekvivalent dat, která jste nasbírali za dva dny, a nyní je lze získat za 1 den, a tento článek je věnován přátelům, kteří se učí crawling.

Poznámka: Algoritmus komprese gzip nemá s programovacím jazykem nic společného!

Nakonec přiložte zdrojový kód:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď

Partitura

Počet účastníků2MB+1 přispět+2 Zhroucení důvod
conntfs + 1 Velmi silné!
Malý začátečník, který rád studuje + 1 + 1 Podpořte majitele, aby zveřejnil dobrý příspěvek, a já také zveřejním dobrý příspěvek!

Zobrazit všechna hodnocení





Předchozí:Vycházejí zprávy o nováčkových mezinárodních praktikách
Další:.net/c# Nová generace CAPTCHA rozpoznávacího systému 2.3 Tutoriál
Zveřejněno 31.12.2019 10:48:25 |
Xiaobai se nemohl zranit. Existuje nějaký software podobný sběru velkých dat jedním kliknutím?
Zveřejněno 10.06.2019 14:11:09 |
Xiaobai se nemohl zranit. Existuje nějaký software podobný sběru velkých dat jedním kliknutím?
Zveřejněno 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Zveřejněno 20.04.2018 12:35:21 |
Děkuji, že jste se podělili
Zveřejněno 25.04.2018 11:33:55 |
Sbírka, možná užitečná.
Zveřejněno 17.05.2018 18:02:21 |
Kolekce Cesta k optimalizaci webových crawlerů
Zveřejněno 18.05.2018 16:10:57 |
ooo
Zveřejněno 18.07.2018 14:43:07 |
Zkus zjistit, jestli to funguje
Zveřejněno 20.07.2018 10:09:50 |
DADASDSADSAD
Zveřejněno 13.08.2018 13:06:50 |
Podívejte se na tento zdrojový kód
Zveřejněno 20.08.2018 14:00:52 |

Díky za sdílení
Zveřejněno 30.08.2018 11:42:26 |
srkskrskr
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com