Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13152|Odpověď: 2

Několik schémat pro distribuované crawlery pro použití proxy IP adres

[Kopírovat odkaz]
Zveřejněno 17.07.2018 13:54:35 | | |
Bez proxy IP bude práce crawlerů obtížná, takže mnoho inženýrů crawlerů musí koupit efektivní a stabilní proxy IP. S vysoce kvalitním proxy IP – dokážete si sednout a odpočinout? Věci nejsou tak jednoduché a je také nutné optimalizovat schéma, racionálně rozdělovat zdroje, zlepšovat efektivitu práce a provádět práci s crawlery efektivněji, rychleji a stabilněji.

Možnost 1: Každý proces náhodně vybere seznam IP adres z rozhraní API (například extrahování 100 IP najednou), aby je procházel, a poté volá API, aby je získalo, pokud selže, a obecná logika je následující:

1. Každý proces (nebo vlákno) náhodně získá dávku IP adres z rozhraní a snaží se v cyklu získat data ze seznamu IP.

2. Pokud je přístup úspěšný, pokračujte v získávání dalšího.

3. Pokud selže (například časový limit, ověřovací kód atd.), vezměte dávku IP adres z rozhraní a pokračujte v pokusu.

Nevýhody řešení: Každá IP má datum expirace, pokud se extrahuje 100, při použití desáté může být většina těchto neplatných. Pokud nastavíte HTTP požadavek s timeoutem spojení 3 sekundy a timeoutem čtení 5 sekund, můžete ztratit 3–8 sekund času, a možná těch 3–8 sekund lze získat desítkykrát.

Možnost 2: Každý proces vezme náhodnou IP adresu z rozhraní API a poté zavolá API k získání IP adresy, pokud selže, obecná logika je následující:

1. Každý proces (nebo vlákno) náhodně získá IP adresu z rozhraní a použije ji k přístupu ke zdrojům.

2. Pokud je přístup úspěšný, pokračujte v získávání dalšího.

3. Pokud selže (například časový limit, ověřovací kód atd.), náhodně vyberte IP adresu z rozhraní a pokračujte v pokusu.

Nevýhody: Volání API za účelem získání IP adres je velmi časté, což vyvíjí velký tlak na proxy server, ovlivňuje stabilitu API rozhraní a může být omezeno při extrakci. Tento systém také není vhodný a nelze jej provozovat udržitelně a stabilně.

Možnost 3: Nejprve extrahujte velké množství IP adres a importujte je do lokální databáze, poté vezměte IP z databáze, obecná logika je následující:

1. Vytvořit tabulku v databázi, napsat importní skript, požádat API za minutu (konzultovat doporučení poskytovatele proxy IP služeb) a importovat seznam IP adres do databáze.

2. Zaznamenat čas importu, IP, port, čas expirace, stav dostupnosti IP a další pole v databázi;

3. Napište grab skript, crab skript čte dostupnou IP z databáze a každý proces získá IP adresu z databáze pro použití.

4. Provést procházení, vyhodnocovat výsledky, zpracovávat cookies atd., pokud existuje ověřovací kód nebo selhání, vzdát se této IP adresy a změnit ji na novou.

Toto řešení efektivně zabraňuje spotřebě zdrojů proxy serveru, efektivně přiděluje využití proxy IP, je efektivnější a stabilnější a zajišťuje odolnost a stabilitu práce crawlerů.




Předchozí:Jak používat Hreflang pro SEO
Další:CHYBA 1093 (HY000): Nemůžete zadat cílovou tabulku 'xxx' pro upda...
Zveřejněno 18.07.2018 14:50:55 |
Není Schéma 3 a Schéma 1 totéž, když extrahujete velké množství IP adres, ty, které se později nepoužijí, brzy vyprší
Zveřejněno 29.01.2019 21:06:25 |
Marku, naučil jsem se ten nápad a pak se ho pokusím napsat
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com