Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 13152|Odpoveď: 2

Niekoľko schém pre distribuované crawlery na používanie proxy IP

[Kopírovať odkaz]
Zverejnené 17. 7. 2018 13:54:35 | | |
Bez proxy IP bude práca s crawlerom náročná, takže mnohí inžinieri crawlerov musia kúpiť efektívnu a stabilnú proxy IP. S kvalitnou proxy IP – dokážete si sadnúť a oddýchnuť si? Veci nie sú také jednoduché a je tiež potrebné optimalizovať schému, racionálne rozdeľovať zdroje, zlepšiť efektivitu práce a vykonávať prácu s crawlermi efektívnejšie, rýchlejšie a stabilnejšie.

Možnosť 1: Každý proces náhodne vyberie zoznam IP z API rozhrania (napríklad extrahovaním 100 IP naraz), aby ich prechádzal, a potom volá API, aby ich získalo, ak zlyhá, a všeobecná logika je nasledovná:

1. Každý proces (alebo vlákno) náhodne získava dávku IP z rozhrania a snaží sa získať dáta zo zoznamu IP v slučke.

2. Ak je prístup úspešný, pokračujte v získavaní ďalšej.

3. Ak zlyhá (napríklad časový limit, overovací kód a pod.), vezmite dávku IP z rozhrania a pokračujte v pokuse.

Nevýhody riešenia: Každá IP má dátum expirácie, ak sa extrahuje 100, pri použití desiateho môže byť väčšina z nich neplatná. Ak nastavíte HTTP požiadavku s timeoutom pripojenia 3 sekundy a timeoutom čítania 5 sekúnd, môžete stratiť 3-8 sekúnd času, a možno sa týchto 3-8 sekúnd dá získať desiatkykrát.

Možnosť 2: Každý proces si vezme náhodnú IP adresu z API rozhrania a potom zavolá API na získanie IP, ak zlyhá, všeobecná logika je nasledovná:

1. Každý proces (alebo vlákno) náhodne získava IP adresu z rozhrania a používa ju na prístup k zdrojom.

2. Ak je prístup úspešný, pokračujte v získavaní ďalšej.

3. Ak zlyhá (napríklad časový limit, overovací kód a pod.), potom náhodne vyberte IP adresu z rozhrania a pokračujte v pokuse.

Nevýhody: Volanie API na získanie IP adries je veľmi časté, čo vyvíja veľký tlak na proxy server, ovplyvňuje stabilitu API rozhrania a môže byť obmedzené pri extrakcii. Tento systém tiež nie je vhodný a nemožno ho prevádzkovať udržateľne a stabilne.

Možnosť 3: Najprv extrahujte veľké množstvo IP a importujte ich do lokálnej databázy, potom vezmite IP z databázy, všeobecná logika je nasledovná:

1. Vytvorte tabuľku v databáze, napíšte importný skript, požiadajte API za minútu (konzultujte odporúčania poskytovateľa proxy IP služieb) a importujte zoznam IP do databázy.

2. Zaznamenávajte čas importu, IP, port, čas vypršania, stav dostupnosti IP a ďalšie polia v databáze;

3. Napíšte grab skript, crab skript načíta dostupnú IP adresu z databázy a každý proces získa IP adresu z databázy na použitie.

4. Vykonajte prehľadávanie, vyhodnocujte výsledky, spracovávajte cookies a podobne, pokiaľ existuje overovací kód alebo zlyhanie, vzdať sa tejto IP adresy a zmeniť na novú.

Toto riešenie efektívne zabraňuje spotrebe zdrojov proxy servera, efektívne prideľuje používanie proxy IP, je efektívnejšie a stabilnejšie a zabezpečuje odolnosť a stabilitu práce crawlera.




Predchádzajúci:Ako používať Hreflang na SEO
Budúci:CHYBA 1093 (HY000): Nemôžete špecifikovať cieľovú tabuľku 'xxx' pre upda...
Zverejnené 18. 7. 2018 14:50:55 |
Nie je Schéma 3 a Schéma 1 to isté, ak extrahujete veľké množstvo IP a tie, ktoré sa neskôr nepoužijú, čoskoro vypršia
Zverejnené 29. 1. 2019 21:06:25 |
Mark, naučil som sa ten nápad a potom sa ho pokúsim napísať
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com