Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 585936|Odgovoriti: 70

[Konzolni program] .net/c# Pot do optimizacije spletnih pajkov

  [Kopiraj povezavo]
Objavljeno na 19. 04. 2018 14:21:02 | | | |
0x00

Spletni pajek (znan tudi kot spletni pajek, spletni bot, v skupnosti FOAF pogosteje imenovan spletni lovec) je program ali skripta, ki samodejno pridobiva informacije o svetovnem spletu v skladu z določenimi pravili. Druga manj pogosto uporabljena imena vključujejo mravlje, avtomatske indekse, simulatorje ali črve.

0x01

Preprosto povedano, pajki pridobivajo podatke po svojih pravilih, analizirajo zajete podatke in nato pridobijo uporabne podatke zase.

0x02

Optimizacijo spletnih pajkov lahko razdelimo na dve fazi:

1: Optimizacija pri strganju podatkov;

2: Optimizacija obdelave rezultatov prijema;

Danes govorimo samo o optimizaciji v procesu strganja!

0x03

Povzel sem nekaj točk o optimizaciji v procesu pajkanja:

1: Lahko se optimizira glede na fizični naslov, na primer: ciljni strežnik virov je Tencent Cloud gostitelj v Šanghaju, poskušamo izbrati strežnik v isti regiji, torej strežnik v regiji Šanghaj, ne izberemo strežnika v Pekingu, Qingdau in drugih regijah, ampak poskušamo izbrati strežnik v isti računalniški sobi IDC. Vemo, da je ta vir spletna stran strežnik Tencent Cloud, poskušamo pajk postaviti na strežnik Tencent Cloud, ne na Alibaba Cloud strežnik!

2: Izberite stabilno in hitro omrežje, na splošno imajo pajkalniki visoke zahteve glede kakovosti omrežja, poskušajte ne uporabljati domačega omrežja, izberite podjetniško omrežje ali kupite strežnik za zajem podatkov.

3: Izberite učinkovitejši jezik za pajke, slišal sem, da je Python boljši za pajke, vendar ga nisem uporabljal, in ga bom preizkusil kasneje, danes, večinoma ga razložim v .net jeziku.

0x04

Za stvari, kot je hiter nakup, so zahteve za hitrost pridobivanja podatkov visoke, lahko jih opišemo kot vprašanje časa, zgodaj za pridobitev podatkov, povečanje možnosti za pridobivanje podatkov, naslednje je, da sem napisal demo s konzolo, preizkus pridobivanja podatkov s te spletne strani, kot je prikazano na spodnji sliki:


(Krajši kot je čas, hitreje je)

Zgornja razvrstitev podatkov:1: Nativno optimizirana koda, 2: Izvorna koda, 3: Paketi vtičnikov tretjih oseb

0x05

Zakaj vtičniki tretjih oseb (paketi) potrebujejo največ časa? Vtičniki tretjih oseb so pravzaprav veliko število enkapsulacij izvorne kode, veliko logičnih presoj, ki so razmeroma vsestranski, kar lahko vodi do počasnega premikanja po besedilu.

Tukaj je izvorna koda:



Izvorna koda je le nekaj vrstic zgoraj.Povprečni čas je še vedno 184 milisekund,Enostavnejša kot je koda, težje jo je optimiziratiAli menite, da je mogoče zgornjo kodo optimizirati za povprečni čas 99 milisekund?Razlika v hitrosti se podvoji!

0x06

Če ciljni strežnik virov podpira gzip kompresijo, bo ob dostopu do spletne strani in brskalnik zahteva spletno stran v glavi zahteve naslednje parametre:

Parametri glave odziva:






Uvod v "sprejemanje-kodiranje": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Preprosto povedano:

Stranka pravi:Podpiram algoritem za stiskanje "gzip, deflate, sdch, br", pri vračanju podatkov lahko uporabiš karkoli želiš.

Natakar je povedal:Podpiram algoritem stiskanja gzip, zato bom uporabil algoritem gzip za stiskanje podatkov do vas

Stranka pravi:V redu, potem bom prejete podatke dešifriral z gzip algoritmom

gzip algoritem, ki lahko stisne prenesene podatke in močno zmanjša preneseno vsebino, zato se izboljša učinkovitost zahtev, zato je optimizirana koda naslednja:


Čeprav je to majhna podrobnost, lahko rečemo, da je učinkovitost podvojena! To je enakovredno podatkom, ki ste jih zbrali v dveh dneh, zdaj pa jih je mogoče zbrati v enem dnevu, ta članek pa je namenjen prijateljem, ki se učijo crawlinga.

Opomba: algoritem stiskanja gzip nima nobene zveze s programskim jezikom!

Na koncu priložite izvorno kodo:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti

Partitura

Število udeležencev2MB+1 prispevati+2 Propad razlog
conntfs + 1 Zelo močno!
Mali začetnik, ki obožuje učenje + 1 + 1 Podprite lastnika, da objavi dobro objavo, in tudi jaz bom objavil dobro objavo!

Oglejte si vse ocene





Prejšnji:Poročajo novinci na mednarodnih treningih
Naslednji:.net/c# Naslednja generacija CAPTCHA prepoznavnega sistema 2.3
Objavljeno na 31. 12. 2019 10:48:25 |
Xiaobai se ne sme poškodovati. Ali obstaja kakšna programska oprema, podobna zbiranju velikih podatkov z enim klikom?
Objavljeno na 10. 06. 2019 14:11:09 |
Xiaobai se ne sme poškodovati. Ali obstaja kakšna programska oprema, podobna zbiranju velikih podatkov z enim klikom?
Objavljeno na 15. 10. 2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Objavljeno na 20. 04. 2018 12:35:21 |
Hvala, ker si delil
Objavljeno na 25. 04. 2018 11:33:55 |
Zbiranje, morda uporabno.
Objavljeno na 17. 05. 2018 18:02:21 |
Zbirka Pot do optimizacije spletnih pajevalnikov
Objavljeno na 18. 05. 2018 16:10:57 |
oo
Objavljeno na 18. 07. 2018 14:43:07 |
Poglej, če deluje
Objavljeno na 20. 07. 2018 10:09:50 |
DADASDSADSAD
Objavljeno na 13. 08. 2018 13:06:50 |
Oglejte si to izvorno kodo
Objavljeno na 20. 08. 2018 14:00:52 |

Hvala, ker si delil
Objavljeno na 30. 08. 2018 11:42:26 |
srkskrskr
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com