Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13152|Odgovoriti: 2

Več shem za porazdeljene pajke, ki uporabljajo proxy IP-je

[Kopiraj povezavo]
Objavljeno na 17. 07. 2018 13:54:35 | | |
Brez proxy IP-jev bo delo z pajkami težko, zato bo veliko inženirjev pajkov moralo kupiti učinkovit in stabilen proxy IP. Z visokokakovostnim proxy IP-jem, ali se lahko sprostite? Stvari niso tako preproste, prav tako je potrebno optimizirati shemo, racionalno razporediti vire, izboljšati učinkovitost dela in izvajati delo s pajkami bolj učinkovito, hitreje in stabilno.

Možnost 1: Vsak proces naključno izbere seznam IP-jev iz vmesniknega API-ja (na primer, da pridobi 100 IP-jev naenkrat), da jih prehaja, nato pa pokliče API, da jih pridobi, če ne uspe, splošna logika pa je naslednja:

1. Vsak proces (ali nit) naključno pridobi serijo IP naslovov iz vmesnika in poskuša v zanki pridobiti podatke s seznama IP.

2. Če je dostop uspešen, nadaljujte z iskanjem naslednjega.

3. Če ne uspe (kot so časovna omejitev, verifikacijska koda itd.), vzemi paket IP-jev iz vmesnika in nadaljuj z poskusi.

Slabosti rešitve: Vsaka IP ima datum poteka; če jih izluščimo 100, je ob uporabi desete večina slednjih lahko neveljavna. Če nastavite HTTP zahtevo s časovno omejitvijo povezave 3 sekunde in 5 sekund za branje, lahko izgubite 3-8 sekund časa, morda pa se teh 3-8 sekund lahko zagrabi več desetkrat.

Možnost 2: Vsak proces vzame naključni IP iz vmesnika API-ja za uporabo in nato pokliče API, da pridobi IP, če ta ne uspe, splošna logika je naslednja:

1. Vsak proces (ali nit) naključno pridobi IP iz vmesnika in ga uporabi za dostop do virov.

2. Če je dostop uspešen, nadaljujte z iskanjem naslednjega.

3. Če ne uspe (kot so časovni iztek, verifikacijska koda itd.), naključno izberi IP iz vmesnika in nadaljuj z poskusi.

Slabosti: Klicanje API-jev za pridobivanje IP naslovov je zelo pogosto, kar povzroča velik pritisk na proxy strežnik, vpliva na stabilnost API vmesnika in lahko omeji izvlečenje. Ta shema prav tako ni primerna in je ni mogoče izvajati trajnostno in stabilno.

Možnost 3: Najprej izvlecite veliko število IP-jev in jih uvozite v lokalno bazo podatkov, nato pa vzemite IP iz baze, splošna logika je naslednja:

1. Ustvarite tabelo v bazi podatkov, napišite uvozni skript, zahtevajte API na minuto (preverite predloge ponudnika storitev proxy IP) in uvozite seznam IP v bazo podatkov.

2. Zabeležite čas uvoza, IP, port, čas poteka, status razpoložljivosti IP in druga polja v bazi podatkov;

3. Napišite skripto za prijem, skripta crab prebere razpoložljivi IP iz baze podatkov, vsak proces pa pridobi IP iz baze za uporabo.

4. Izvedite preskakovanje, ocenite rezultate, obdelajte piškotke itd., dokler obstaja verifikacijska koda ali okvara, opustite ta IP in zamenjajte na nov IP.

Ta rešitev učinkovito preprečuje porabo virov proxy strežnika, učinkovito dodeljuje uporabo proxy IP, je učinkovitejša in stabilnejša ter zagotavlja vzdržljivost in stabilnost dela s crawlerjem.




Prejšnji:Kako uporabljati Hreflang za SEO
Naslednji:NAPAKA 1093 (HY000): Ne moreš določiti ciljne tabele 'xxx' za upda...
Objavljeno na 18. 07. 2018 14:50:55 |
Ali nista Shema 3 in Shema 1 enaka, če izvlečeš veliko IP-jev, tisti, ki jih kasneje ne uporabiš, kmalu potečejo
Objavljeno na 29. 01. 2019 21:06:25 |
Mark, jaz sem se naučil idejo, potem pa jo bom poskusil napisati
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com