Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 585936|Válasz: 70

[Konzol program] .net/c# Az út a webcrawler optimalizáláshoz

  [Linket másol]
Közzétéve 2018. 04. 19. 14:21:02 | | | |
0x00

A webcrawler (más néven web pók, web bot, a FOAF közösségben inkább web chaser) egy program vagy szkript, amely automatikusan kaparja az információkat a World Wide Webről bizonyos szabályok szerint. Más, kevésbé használt nevek közé tartoznak a hangyák, autoindexek, szimulátorok vagy féregek.

0x01

Egyszerűen fogalmazva: a crawlerek saját szabályaik szerint gyűjtik az adatokat, elemzik a rögzített adatokat, majd hasznos adatokat szereznek maguknak.

0x02

A webcrawler optimalizálása két szakaszra bontható:

1: Optimalizálás adatgyűjtéskor;

2: Optimalizálja a megértő eredmények feldolgozását;

Ma csak a kaparási folyamat optimalizálásáról beszélünk!

0x03

Összefoglaltam néhány pontot a crawling folyamatban történő optimalizálásról:

1: Optimalizálható a fizikai címre, például: a cél erőforrás szerver a Tencent Cloud hoszt Sanghajban, mi megpróbáljuk kiválasztani a szervert ugyanabban a régióban, vagyis a sanghaji régióban lévő szervert, nem Pekingben, Qingdaóban és más régiókban található szervert, hanem ugyanabban az IDC számítógépteremben is próbáljuk kiválasztani a szervert, tudjuk, hogy ez az erőforrás weboldal a Tencent Cloud szervere, megpróbáljuk a crawlert a Tencent Cloud szerverre tenni, nem az Alibaba Cloud szerverre!

2: Válassz stabil és gyors hálózatot, általában a crawlereknek magas a hálózati minőség követelményei, próbálj meg nem használni az otthoni hálózatot, válaszd a céges hálózatot vagy vásárolj szervert adatrögzítéshez.

3: Válassz egy hatékonyabb crawler nyelvet, hallottam, hogy a python jobb a crawlerekben, de én még nem használtam, és később tesztelem, ma főleg .net nyelven magyarázom el.

0x04

Olyan dolgoknál, mint a gyorsvásárlás, a fogás sebességének követelményei magasak, leírható, hogy idő kérdése, korai az adatok megszerzése, növelve a megszerzés esélyét, a következőképpen írtam egy demót a konzolon, a weboldal adatainak megszerzésének tesztjét, ahogy az alábbi ábrán látható:


(Minél rövidebb az idő, annál gyorsabb)

A fenti adatrangsor:1: Natiivileg optimalizált kód, 2: Natív kód, 3: Harmadik féltől származó plug-in dll-ek (csomagok)

0x05

Miért tartanak a harmadik féltől származó pluginok (csomagok) a legsokáig? A harmadik féltől származó bővítmények valójában sok natív kód kapszulációját, sok logikai ítéletet és viszonylag sokoldalúak, ami lassú kúszósebességhez vezethet.

Íme a natív kód:



A natív kód csak néhány sorral fent van.Az átlagos idő még mindig 184 milliszekundum,Minél egyszerűbb a kód, annál nehezebb optimalizálniÚgy gondolod, hogyan lehet a fenti kódot optimalizálni, hogy átlagosan 99 milliszekundum időt érjen el?A sebességkülönbség megduplázódik!

0x06

Ha a cél erőforrás szerver támogatja a gzip tömörítést, amikor elérjük a weboldalt, és a böngésző kéri a weboldalt, a kérés fejlécének a következő paraméterei lesznek:

Válaszfejléc paraméterek:






Bevezetés az "Accept-Encoding"-hoz: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Egyszerű kifejezéssel:

Az ügyfél így mondja:Támogatom a "gzip, deflate, sdch, br" tömörítési algoritmust, amit akarsz, amit akarsz az adatok visszaküldésekor.

A szerver így nyilatkozott:Én támogatom a gzip tömörítő algoritmust, ezért a gzip algoritmust fogom használni, hogy tömörítsem az adatokat neked

Az ügyfél így mondja:Rendben, akkor a gzip algoritmussal dekódolom a beérkezett adatokat

a gzip algoritmus, amely képes tömöríteni az átküldött adatokat és jelentősen csökkenteni az átküldött tartalmat, így a kérések hatékonysága javul, így az optimalizált kód a következő:


Bár apró részlet, a hatékonyság kétszeresebb! Ez megfelel annak, amit két nap alatt gyűjtöttél, és most már egy nap alatt is összegyűjthető, és ez a cikk azoknak a barátoknak szól, akik megtanulják a kúszást.

Megjegyzés: A gzip tömörítési algoritmusnak semmi köze a programozási nyelvhez!

Végül csatoljuk a forráskódot:

Turisták, ha szeretnétek megnézni ennek a bejegyzésnek a rejtett tartalmát, kérlekVálasz

Pontszám

A résztvevők száma2MB+1 hozzájárul+2 Összeomlás ok
Conntfs + 1 Nagyon erős!
Egy kis kezdő, aki szeret tanulni + 1 + 1 Támogasd a tulajdonost, hogy posztoljon egy jó bejegyzést, és én is posztolni fogok egy jó bejegyzést!

Minden értékelés megtekintése





Előző:Nemzetközi gyakorlati újoncokról szóló jelentések jelentek meg
Következő:.net/c# Next-Generation CAPTCHA Recognition System 2.3 Tutorial
Közzétéve 2019. 12. 31. 10:48:25 |
Xiaobai nem sérülhetett meg. Van olyan szoftver, ami hasonlít az egykattintásos big data gyűjtéshez?
Közzétéve 2019. 06. 10. 14:11:09 |
Xiaobai nem sérülhetett meg. Van olyan szoftver, ami hasonlít az egykattintásos big data gyűjtéshez?
Közzétéve 2019. 10. 15. 10:29:57 |
GANJUETINGHAOWANDE KANN
Közzétéve 2018. 04. 20. 12:35:21 |
Köszönöm, hogy megosztottad
Közzétéve 2018. 04. 25. 11:33:55 |
Gyűjtemény, talán hasznos.
Közzétéve 2018. 05. 17. 18:02:21 |
A webkutató crawler optimalizálási út gyűjteménye
Közzétéve 2018. 05. 18. 16:10:57 |
óóó
Közzétéve 2018. 07. 18. 14:43:07 |
Nézd meg, működik-e
Közzétéve 2018. 07. 20. 10:09:50 |
DADASDSADSAD
Közzétéve 2018. 08. 13. 13:06:50 |
Nézd meg ezt a forráskódot
Közzétéve 2018. 08. 20. 14:00:52 |

Köszönöm, hogy megosztottad
Közzétéve 2018. 08. 30. 11:42:26 |
srkskrskrskrskr
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com