Bez starpniekservera IP rāpuļķēdes darbs būs sarežģīts, tāpēc daudziem rāpuļinženieriem ir jāiegādājas efektīvs un stabils starpniekservera IP. Vai ar augstas kvalitātes starpniekservera IP varat sēdēt un atpūsties? Lietas nav tik vienkāršas, un ir nepieciešams arī optimizēt shēmu, racionāli sadalīt resursus, uzlabot darba efektivitāti un veikt rāpuļdarbu efektīvāk, ātrāk un stabilāk.
1. variants: Katrs process nejauši izvēlas IP sarakstu no interfeisa API (piemēram, iegūstot 100 IP vienlaikus), lai tos pārskatītu, un pēc tam izsauc API, lai tos iegūtu, ja tas neizdodas, un vispārējā loģika ir šāda:
1. Katrs process (vai pavediens) nejauši izgūst IP partiju no saskarnes un mēģina izgūt datus no IP saraksta cilpā.
2. Ja piekļuve ir veiksmīga, turpiniet satvert nākamo.
3. Ja tas neizdodas (piemēram, taimauts, verifikācijas kods utt.), Paņemiet IP partiju no saskarnes un turpiniet mēģināt.
Risinājuma trūkumi: Katram IP ir derīguma termiņš, ja tiek iegūti 100, kad tiek izmantots 10., lielākā daļa no pēdējiem var būt nederīgi. Ja iestatāt HTTP pieprasījumu ar savienojuma taimautu 3 sekundes un lasīšanas taimautu 5 sekundes, jūs varat tērēt 3-8 sekundes laika, un varbūt šīs 3-8 sekundes var satvert desmitiem reižu.
2. variants: Katrs process izmanto nejaušu IP no interfeisa API un pēc tam izsauc API, lai iegūtu IP, ja tas neizdodas, vispārējā loģika ir šāda:
1. Katrs process (vai pavediens) nejauši izgūst IP no saskarnes un izmanto šo IP, lai piekļūtu resursiem.
2. Ja piekļuve ir veiksmīga, turpiniet satvert nākamo.
3. Ja tas neizdodas (piemēram, taimauts, verifikācijas kods utt.), Tad nejauši izvēlieties IP no saskarnes un turpiniet mēģināt.
Trūkumi: API izsaukšana, lai iegūtu IP adreses, ir ļoti bieža, kas radīs lielu spiedienu uz starpniekserveri, ietekmēs API saskarnes stabilitāti un var tikt ierobežota izgūšana. Šī shēma arī nav piemērota, un to nevar izmantot ilgtspējīgā un stabilā veidā.
3. variants: Pirmkārt, izvelciet lielu skaitu IP un importējiet tos vietējā datu bāzē un pēc tam paņemiet IP no datu bāzes, vispārējā loģika ir šāda:
1. Izveidojiet tabulu datu bāzē, uzrakstiet importa skriptu, pieprasiet API minūtē (skatiet starpniekservera IP pakalpojumu sniedzēja ieteikumus) un importējiet IP sarakstu datu bāzē.
2. Reģistrējiet importēšanas laiku, IP, portu, derīguma termiņu, IP pieejamības statusu un citus laukus datu bāzē;
3. Uzrakstiet grab skriptu, krabju skripts nolasa pieejamo IP no datu bāzes, un katrs process iegūst IP no datu bāzes lietošanai.
4. Veiciet pārmeklēšanu, spriediet par rezultātiem, apstrādājiet sīkfailus utt., Kamēr ir verifikācijas kods vai kļūme, atsakieties no šī IP un mainiet uz jaunu IP.
Šis risinājums efektīvi izvairās no starpniekservera resursu patēriņa, efektīvi sadala starpniekservera IP izmantošanu, ir efektīvāks un stabilāks un nodrošina rāpuļprogrammas darba izturību un stabilitāti. |