Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13152|Răspunde: 2

Mai multe scheme pentru crawlere distribuite să folosească IP-uri proxy

[Copiază linkul]
Postat pe 17.07.2018 13:54:35 | | |
Fără IP proxy, munca cu crawlerul va fi dificilă, așa că mulți ingineri crawler trebuie să cumpere IP-uri proxy eficiente și stabile. Cu un IP proxy de înaltă calitate, poți să te relaxezi? Lucrurile nu sunt atât de simple, iar de asemenea este necesar să optimizăm schema, să alocăm rațional resursele, să îmbunătățim eficiența muncii și să realizăm munca cu crawler mai eficient, mai rapid și mai stabil.

Opțiunea 1: Fiecare proces selectează aleatoriu o listă de IP-uri din API-ul interfeței (de exemplu, extragerea a 100 de IP-uri odată) pentru a le parcurge, apoi apelează API-ul pentru a le obține dacă eșuează, iar logica generală este următoarea:

1. Fiecare proces (sau fir de discuție) recuperează aleatoriu un lot de IP-uri din interfață și încearcă să preia date din lista IP într-un ciclu.

2. Dacă accesul este reușit, continuă să iei următorul.

3. Dacă eșuează (cum ar fi timeout-ul, codul de verificare etc.), ia un lot de IP-uri din interfață și continuă să încerci.

Dezavantaje ale soluției: Fiecare IP are o dată de expirare, dacă se extrag 100, când se folosește al 10-lea, majoritatea acestora pot fi invalide. Dacă setezi o cerere HTTP cu un timeout de conexiune de 3 secunde și un timp de citire de 5 secunde, poți pierde 3-8 secunde, iar poate aceste 3-8 secunde pot fi folosite de zeci de ori.

Opțiunea 2: Fiecare proces preia un IP aleatoriu de la API-ul interfeței pentru a-l folosi, apoi apelează API-ul pentru a obține un IP dacă acesta eșuează, logica generală este următoarea:

1. Fiecare proces (sau fir de discuție) recuperează aleatoriu un IP din interfață și folosește acest IP pentru a accesa resursele.

2. Dacă accesul este reușit, continuă să iei următorul.

3. Dacă eșuează (cum ar fi timeout-ul, codul de verificare etc.), atunci selectează aleatoriu un IP din interfață și continuă încercarea.

Dezavantaje: Apelarea API-urilor pentru a obține adrese IP este foarte frecventă, ceea ce va pune o presiune mare pe serverul proxy, va afecta stabilitatea interfeței API și poate fi restricționată de extragere. Această schemă nu este, de asemenea, potrivită și nu poate fi operată într-un mod sustenabil și stabil.

Opțiunea 3: Mai întâi, extrage un număr mare de IP-uri și le importă în baza de date locală, apoi ia IP-ul din baza de date, logica generală este următoarea:

1. Creează un tabel în baza de date, scrie un script de import, solicită API-ul pe minut (consultă sugestiile furnizorului de servicii IP proxy) și import lista IP în baza de date.

2. Înregistrarea timpului de import, IP-ului, portului, expirării, statutului de disponibilitate a IP-ului și alte câmpuri din baza de date;

3. Scrie un script grab, scriptul crab citește IP-ul disponibil din baza de date, iar fiecare proces obține un IP din baza de date pentru utilizare.

4. Efectuați crawling, evaluați rezultatele, procesați cookie-urile etc., atâta timp cât există un cod de verificare sau o eroare, renunțați la acest IP și schimbați la un IP nou.

Această soluție evită eficient consumul resurselor serverului proxy, alocă eficient utilizarea IP-ului proxy, este mai eficientă și stabilă și asigură durabilitatea și stabilitatea muncii crawler-ului.




Precedent:Cum să folosești Hreflang pentru SEO
Următor:EROARE 1093 (HY000): Nu poți specifica tabelul țintă 'xxx' pentru upda...
Postat pe 18.07.2018 14:50:55 |
Nu sunt Scheme 3 și Scheme 1 la fel, extragi un număr mare de IP-uri, iar cele care nu sunt folosite ulterior vor expira curând
Postat pe 29.01.2019 21:06:25 |
Mark, am învățat ideea, apoi o să încerc să o scriu
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com