0x00
Tīmekļa rāpuļprogramma (pazīstama arī kā tīmekļa zirneklis, tīmekļa robots, FOAF kopienā biežāk saukta par tīmekļa pakaļdzītāju) ir programma vai skripts, kas automātiski nokasa informāciju par globālo tīmekli saskaņā ar noteiktiem noteikumiem. Citi retāk lietoti nosaukumi ir skudras, automātiskie indeksi, simulatori vai tārpi.
0x01
Vienkārši sakot, rāpuļprogrammas satver datus saskaņā ar saviem noteikumiem, analizē iegūtos datus un pēc tam iegūst sev noderīgus datus.
0x02
Tīmekļa rāpuļprogrammas optimizāciju var iedalīt divos posmos:
1: Optimizējiet datu skrāpēšanu;
2: Optimizējiet rezultātu apstrādi;
Šodien mēs runājam tikai par optimizāciju skrāpēšanas procesā!
0x03
Es esmu apkopojis dažus punktus par optimizāciju pārmeklēšanas procesā:
1: To var optimizēt fiziskajā adresē, piemēram: mērķa resursu serveris ir Tencent Cloud resursdators Šanhajā, mēs cenšamies izvēlēties serveri tajā pašā reģionā, tas ir, serveri Šanhajas reģionā, neizvēlieties serveri Pekinā, Čingdao un citos reģionos, bet arī mēģiniet izvēlēties serveri tajā pašā IDC datortelpā, mēs zinām, ka šī resursu vietne ir Tencent Cloud serveris, mēs cenšamies ievietot rāpuļprogrammu Tencent Cloud serverī, nevis Alibaba Cloud serverī!
2: Izvēlieties stabilu un ātru tīklu, parasti rāpuļprogrammām ir augstas prasības tīkla kvalitātei, mēģiniet neizmantot mājas tīklu, izvēlēties uzņēmuma tīklu vai iegādāties serveri, lai iegūtu datus.
3: Izvēlieties efektīvāku rāpuļvalodu, es dzirdēju, ka python ir labāks rāpuļprogrammās, bet es to neesmu izmantojis, un es to pārbaudīšu vēlāk, šodien, es to galvenokārt izskaidroju .net valodā.
0x04
Tādām lietām kā steidzīga pirkšana, prasības satveršanas ātrumam ir augstas, to var raksturot kā laika jautājumu, agri iegūt datus, palielināt iespēju satvert, sekojošais ir Es uzrakstīju demonstrāciju ar konsoli, šīs vietnes datu satveršanas testu, kā parādīts zemāk redzamajā attēlā:
(Jo īsāks laiks, jo ātrāk)
Iepriekš minētais datu rangs:1: Vietējais optimizētais kods, 2: Vietējais kods, 3: Trešās puses spraudņu dlls (pakotnes)
0x05
Kāpēc trešo pušu spraudņi (pakotnes) aizņem visilgāko laiku? Trešo pušu spraudņi faktiski ir liels skaits vietējā koda iekapsulējumu, liels skaits loģisku spriedumu un salīdzinoši daudzpusīgs, kas var izraisīt lēnu pārmeklēšanas ātrumu.
Šeit ir vietējais kods:
Vietējais kods ir tikai dažas rindiņas augstāk.Vidējais laiks joprojām ir 184 milisekundes,Jo vienkāršāks kods, jo grūtāk to optimizētVai jūs domājat, ka kā iepriekš minēto kodu var optimizēt, lai sasniegtu vidējo laiku 99 milisekundes?Ātruma starpība ir divkāršota!
0x06
Ja mērķa resursu serveris atbalsta gzip saspiešanu, kad mēs piekļūstam vietnei un pārlūkprogramma pieprasa vietni, pieprasījuma galvenei būs šādi parametri:
Atbildes galvenes parametri:
Ievads "Akceptēšanas kodējumā": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding
Nespeciālistu izteiksmē:
Klients saka:Es atbalstu saspiešanas algoritmu "gzip, deflate, sdch, br", atgriežot datus, varat izmantot visu, ko vēlaties.
Serveris teica:Es atbalstu gzip saspiešanas algoritmu, tāpēc es izmantošu gzip algoritmu, lai saspiestu datus jums
Klients saka:Labi, tad es atšifrēšu saņemtos datus ar gzip algoritmu
gzip algoritms, kas var saspiest pārsūtītos datus un ievērojami samazināt pārraidīto saturu, tāpēc pieprasījuma efektivitāte tiks uzlabota, tāpēc optimizētais kods ir šāds:
Lai gan tā ir maza detaļa, var teikt, ka efektivitāte ir divkāršota! Tas ir līdzvērtīgs divu dienu laikā savāktajiem datiem, un tagad tos var savākt 1 dienas laikā, un šis raksts ir veltīts draugiem, kuri mācās rāpot.
Piezīme: gzip saspiešanas algoritmam nav nekāda sakara ar programmēšanas valodu!
Visbeidzot, pievienojiet avota kodu:
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi
|