Ilma proxy IP-ta on roomiku töö keeruline, seega peavad paljud roomiku insenerid ostma tõhusaid ja stabiilseid proxy IP-sid. Kvaliteetse proxy IP-ga saad lihtsalt rahulikult istuda? Asjad ei ole nii lihtsad ning on vajalik optimeerida skeemi, jaotada ressursse ratsionaalselt, parandada töö efektiivsust ning teha roomikutööd tõhusamalt, kiiremini ja stabiilsemalt.
Variant 1: Iga protsess valib juhuslikult liidese API-st IP-de nimekirja (näiteks eraldades korraga 100 IP-d), et neid läbi käia, ja kutsub API-d, et need kätte saada, kui see ebaõnnestub, ning üldine loogika on järgmine:
1. Iga protsess (või lõim) võtab juhuslikult IP-aadresse liidesest ja püüab andmeid IP-loendist tsüklis taastada.
2. Kui ligipääs õnnestub, jätka järgmise haaramist.
3. Kui see ebaõnnestub (näiteks timeout, verifitseerimiskood jne), võta liidesest hulk IP-sid ja jätka proovimist.
Lahenduse puudused: Igal IP-l on aegumiskuupäev, kui eraldatakse 100, siis kui kasutatakse 10. IP-t, võib enamik viimaseid olla kehtetud. Kui seadistad HTTP-päringu, mille ühenduse aegumine on 3 sekundit ja lugemisaeg 5 sekundit, võid raisata 3–8 sekundit aega ning võib-olla saab neid 3–8 sekundit kasutada kümneid kordi.
Variant 2: Iga protsess võtab juhusliku IP-kaardi liidese API-st kasutamiseks ja kutsub API-d IP-le, kui see ebaõnnestub, üldine loogika on järgmine:
1. Iga protsess (või lõim) hangib juhuslikult IP-aadressi liidesest ja kasutab seda IP-d ressursside ligipääsuks.
2. Kui ligipääs õnnestub, jätka järgmise haaramist.
3. Kui see ebaõnnestub (näiteks timeout, verifitseerimiskood jne), siis vali juhuslikult IP liidesest ja jätka proovimist.
Puudused: API-de kutsumine IP-aadresside saamiseks on väga sagedane, mis avaldab suurt survet proxy serverile, mõjutab API liidese stabiilsust ja võib olla piiratud väljavõtmise võimalusega. See skeem ei sobi samuti ega saa jätkusuutlikult ja stabiilselt toimida.
Variant 3: Esiteks eraldada suur hulk IP-sid ja importida need kohalikku andmebaasi ning seejärel võtta IP andmebaasist, üldine loogika on järgmine:
1. Loo andmebaasis tabel, kirjuta importskript, taotle API-d minuti kohta (konsulteeri proksi-IP teenusepakkuja soovitustega) ja impordi IP-nimekiri andmebaasi.
2. Salvesta impordiaeg, IP, port, aegumisaeg, IP kättesaadavuse staatus ja muud väljad andmebaasis;
3. Kirjuta grab-skript, krabiskript loeb andmebaasist saadaval oleva IP ja iga protsess saab andmebaasist IP kasutamiseks.
4. Teosta indekseerimist, hinda tulemusi, töötle küpsiseid jne, kui on kinnituskood või tõrge, loovuta see IP ja vaheta uus IP.
See lahendus väldib tõhusalt proxy-serveri ressursside tarbimist, eraldab tõhusalt proxy IP kasutust, on tõhusam ja stabiilsem ning tagab roomiku töö vastupidavuse ja stabiilsuse. |