Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 585936|Risposta: 70

[Programma Console] .net/c# Il percorso verso l'ottimizzazione del web crawler

  [Copiato link]
Pubblicato su 19/04/2018 14:21:02 | | | |
0x00

Un web crawler (noto anche come web spider, web bot, più comunemente chiamato web chaser nella comunità FOAF) è un programma o script che raccoglie automaticamente informazioni sul World Wide Web secondo determinate regole. Altri nomi meno comunemente usati includono formiche, auto-indici, simulatori o vermi.

0x01

Per dirla semplicemente, i crawler raccolgono dati secondo le proprie regole, analizzano i dati raccolti e poi ottengono dati utili per sé stessi.

0x02

L'ottimizzazione per il web crawler può essere suddivisa in due fasi:

1: Ottimizzare durante lo scraping dei dati;

2: Ottimizzare l'elaborazione dei risultati di afferre;

Oggi parliamo solo di ottimizzazione nel processo di scraping!

0x03

Ho riassunto alcuni punti sull'ottimizzazione nel processo di crawling:

1: Può essere ottimizzato sull'indirizzo fisico, ad esempio: il server di risorse target è l'host Tencent Cloud a Shanghai, cerchiamo di scegliere il server nella stessa regione, cioè il server nella regione di Shanghai, non scegliamo il server di Pechino, Qingdao e altre regioni, ma proviamo anche a scegliere il server nella stessa sala computer IDC, sappiamo che questo sito di risorse è il server di Tencent Cloud, cerchiamo di mettere il crawler sul server Tencent Cloud, non su quello di Alibaba Cloud!

2: Scegliere una rete stabile e veloce, generalmente i crawler hanno requisiti elevati per la qualità della rete, cercare di non usare la rete domestica, scegliere la rete aziendale o acquistare un server per acquisire dati.

3: Scegli un linguaggio di crawler più efficiente, ho sentito che python è migliore nei crawler, ma non l'ho mai usato, e lo testerò più tardi, oggi lo spiegherò principalmente nel linguaggio .net.

0x04

Per cose come l'acquisto rapido, i requisiti per la velocità di raccolta sono elevati, si può descrivere come questione di tempo, in anticipo, per ottenere i dati, aumentare la probabilità di afferre; di seguito ho scritto una demo con la console, il test per ottenere i dati di questo sito, come mostrato nella figura qui sotto:


(Più il tempo è breve, più veloce)

La classifica dei dati sopra:1: Codice ottimizzato nativamente, 2: Codice nativo, 3: DLL plug-in di terze parti (package)

0x05

Perché i plugin di terze parti (pacchetti) impiegano di più? I plug-in di terze parti sono in realtà un gran numero di incapsulazioni di codice nativo, un gran numero di giudizi logici e sono relativamente versatili, il che può portare a una velocità di rastrellamento lenta.

Ecco il codice nativo:



Il codice nativo è solo poche righe sopra.Il tempo medio è ancora di 184 millisecondi,Più semplice è il codice, più difficile è ottimizzarloPensi che come possa essere ottimizzato il codice sopra per raggiungere un tempo medio di 99 millisecondi?La differenza di velocità è raddoppiata!

0x06

Se il server di risorse target supporta la compressione gzip, quando accediamo al sito e il browser richiede il sito, l'intestazione della richiesta avrà i seguenti parametri:

Parametri dell'intestazione di risposta:






Introduzione alla "Accettazione-Codifica": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

In termini semplici:

Il cliente afferma:Supporto l'algoritmo di compressione "gzip, deflate, sdch, br", puoi usare quello che vuoi quando restituisci i dati.

Il cameriere ha detto:Io supporto l'algoritmo di compressione gzip, quindi userò l'algoritmo gzip per comprimere i dati su di te

Il cliente afferma:Ok, allora decripterò i dati ricevuti con l'algoritmo gzip

Algoritmo gzip, che può comprimere i dati trasmessi e ridurre notevolmente il contenuto trasmesso, quindi l'efficienza delle richieste sarà migliorata, quindi il codice ottimizzato è il seguente:


Anche se è un dettaglio piccolo, si può dire che l'efficienza sia raddoppiata! È equivalente ai dati raccolti in due giorni, e ora può essere raccolto in un giorno, e questo articolo è dedicato ad amici che imparano a crawlare.

Nota: L'algoritmo di compressione gzip non ha nulla a che fare con il linguaggio di programmazione!

Infine, allega il codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta

Punteggio

Numero di partecipanti2MB+1 contribuire+2 Collasso ragione
conntfs + 1 Molto potente!
Un piccolo principiante che ama imparare + 1 + 1 Supporta il proprietario per pubblicare un buon post, e pubblicherò anche io un buon post!

Vedi tutte le valutazioni





Precedente:Vengono pubblicati rapporti internazionali sulle pratiche per i nuovi arrivati
Prossimo:.net/c# Tutorial del Sistema di Riconoscimento CAPTCHA di Nuova Generazione 2.3
Pubblicato su 31/12/2019 10:48:25 |
Xiaobai non poteva farsi male. Esiste qualche software simile alla raccolta di big data con un solo clic?
Pubblicato su 10/06/2019 14:11:09 |
Xiaobai non poteva farsi male. Esiste qualche software simile alla raccolta di big data con un solo clic?
Pubblicato su 15/10/2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Pubblicato su 20/04/2018 12:35:21 |
Grazie per aver condiviso
Pubblicato su 25/04/2018 11:33:55 |
Collezione, forse utile.
Pubblicato su 17/05/2018 18:02:21 |
La Strada verso l'Ottimizzazione del Web Crawler Raccolta
Pubblicato su 18/05/2018 16:10:57 |
oo
Pubblicato su 18/07/2018 14:43:07 |
Vedi se funziona
Pubblicato su 20/07/2018 10:09:50 |
DADASDSADSAD
Pubblicato su 13/08/2018 13:06:50 |
Dai un'occhiata a questo codice sorgente
Pubblicato su 20/08/2018 14:00:52 |

Grazie per aver condiviso
Pubblicato su 30/08/2018 11:42:26 |
srkskrskrskrskrskrskr
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com