Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 585936|Răspunde: 70

[Program de consolă] .net/c# Drumul către optimizarea web crawler

  [Copiază linkul]
Postat pe 19.04.2018 14:21:02 | | | |
0x00

Un web crawler (cunoscut și sub denumirea de web spider, web bot, mai frecvent numit web chaser în comunitatea FOAF) este un program sau un script care extrage automat informații despre World Wide Web conform anumitor reguli. Alte denumiri mai puțin folosite includ furnici, auto-indexuri, simulatoare sau viermi.

0x01

Pe scurt, crawlerii colectează date conform propriilor reguli, analizează datele capturate și apoi obțin date utile pentru ei înșiși.

0x02

Optimizarea pentru crawler web poate fi împărțită în două etape:

1: Optimizare la extragerea datelor;

2: Optimizarea procesării rezultatelor de captare;

Astăzi, vorbim doar despre optimizare în procesul de scraping!

0x03

Am rezumat câteva puncte despre optimizarea în procesul de crawling:

1: Poate fi optimizat pe adresa fizică, de exemplu: serverul de resurse țintă este gazda Tencent Cloud din Shanghai, încercăm să alegem serverul din aceeași regiune, adică serverul din regiunea Shanghai, nu alegem serverul din Beijing, Qingdao și alte regiuni, ci încercăm să alegem serverul din aceeași cameră de calculatoare IDC, știm că acest site de resurse este serverul Tencent Cloud, încercăm să punem crawlerul pe serverul Tencent Cloud, nu pe serverul Alibaba Cloud!

2: Alege o rețea stabilă și rapidă, în general crawlerele au cerințe ridicate pentru calitatea rețelei, încearcă să nu folosești rețeaua de acasă, alege rețeaua companiei sau cumpără un server pentru a captura date.

3: Alege un limbaj de crawler mai eficient, am auzit că python este mai bun la crawlere, dar nu l-am folosit și îl voi testa mai târziu, astăzi îl explic în principal în limbajul .net.

0x04

Pentru lucruri precum cumpărăturile rapide, cerințele pentru viteza de captare sunt ridicate, poate fi descris ca o chestiune de timp, devreme pentru a obține datele, pentru a crește șansa de captură; următorul lucru este că am scris o demonstrație cu consola, testul de a obține datele acestui site, așa cum se vede în figura de mai jos:


(Cu cât timpul este mai scurt, cu atât este mai rapid)

Clasamentul datelor de mai sus:1: Cod optimizat nativ, 2: Cod nativ, 3: DLL-uri plug-in terțe (pachete)

0x05

De ce durează cel mai mult pluginurile (pachetele) terțe? Plug-in-urile terțe sunt de fapt un număr mare de încapsulări ale codului nativ, un număr mare de judecăți logice și sunt relativ versatile, ceea ce poate duce la o viteză lentă de crawling.

Iată codul nativ:



Codul nativ este la doar câteva rânduri mai sus.Timpul mediu este încă de 184 de milisecunde,Cu cât codul este mai simplu, cu atât este mai greu de optimizatCrezi că cum poate fi optimizat codul de mai sus pentru a atinge un timp mediu de 99 de milisecunde?Diferența de viteză s-a dublat!

0x06

Dacă serverul de resurse țintă suportă compresia gzip, când accesăm site-ul și browserul solicită site-ul, antetul cererii va avea următorii parametri:

Parametrii antetului de răspuns:






Introducere în "Accept-Encoding": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

În termeni simpli:

Clientul spune:Susțin algoritmul de compresie "gzip, flate, sdch, br", poți folosi orice vrei când returnezi date.

Chelnerul a spus:Eu suport algoritmul de compresie gzip, așa că voi folosi algoritmul gzip pentru a comprima datele către tine

Clientul spune:Bine, atunci voi decripta datele primite cu algoritmul gzip

Algoritmul GZIP, care poate comprima datele transmise și reduce semnificativ conținutul transmis, astfel încât eficiența cererilor va fi îmbunătățită, astfel încât codul optimizat este următorul:


Deși este un detaliu mic, eficiența poate fi considerată dublată! Este echivalent cu datele colectate în două zile, iar acum pot fi colectate în 1 zi, iar acest articol este dedicat prietenilor care învață crawling.

Notă: Algoritmul de compresie gzip nu are nicio legătură cu limbajul de programare!

În final, atașează codul sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde

Scor

Numărul participanților2MB+1 Contribui+2 Colaps rațiune
conntfs + 1 Foarte puternic!
Un mic începător care iubește să învețe + 1 + 1 Susțineți proprietarul să posteze o postare bună și voi posta și eu o postare bună!

Vezi toate ratingurile





Precedent:Apar rapoarte despre practicile internaționale pentru începători
Următor:.net/c# Tutorial pentru Sistemul de Recunoaștere CAPTCHA de Generație Următoare 2.3
Postat pe 31.12.2019 10:48:25 |
Xiaobai nu putea să fie rănită. Există vreun software similar cu colectarea big data cu un singur click?
Postat pe 10.06.2019 14:11:09 |
Xiaobai nu putea să fie rănită. Există vreun software similar cu colectarea big data cu un singur click?
Postat pe 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Postat pe 20.04.2018 12:35:21 |
Mulțumesc că ai împărtășit
Postat pe 25.04.2018 11:33:55 |
Colecție, poate utilă.
Postat pe 17.05.2018 18:02:21 |
Colecția de optimizare Drumul către Web Crawler
Postat pe 18.05.2018 16:10:57 |
oo
Postat pe 18.07.2018 14:43:07 |
Vezi dacă funcționează
Postat pe 20.07.2018 10:09:50 |
DADASDSADSAD
Postat pe 13.08.2018 13:06:50 |
Verifică acest cod sursă
Postat pe 20.08.2018 14:00:52 |

Mulțumesc că ai împărtășit
Postat pe 30.08.2018 11:42:26 |
srkskrskrskrskrskrskr
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com