Nodejs Scraper[parser] π - Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ (async/queue)
ΠΡΠΈΠ²Π΅Ρ, Π΄ΡΡΠ·ΡΡ! Π² ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠΊΡΠ°ΠΏΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ (ΡΡΡΠ»ΠΊΠ° Π½ΠΈΠΆΠ΅),
ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΊΠΎΡΠΈΠΌ ΡΡΠΊΠΎΡΠΈΠΌ Π½Π°Ρ ΡΠΊΡΠ°ΠΏΠ΅Ρ (Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°Ρ
Π»ΡΠ΄ΠΈ ΠΈΡΡΡ parser node js ΠΈΠ»ΠΈ ΠΏΠ°ΡΡΠ΅Ρ Π½Π° javascript,
ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΡ ΡΡΠΎ ΠΎΡΡΠ°Π²Π»Ρ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈΡ).
ΠΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ async ΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ queue, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ,
Π½ΠΎ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ (Ρ.Π½. concurrency).
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ puppeteer, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΡΡΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠ°Π΄ΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ ΠΈ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ, ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°!
Π‘ΡΡΠ»ΠΊΠΈ:
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, Π³Π΄Π΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΡ -
Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ async -
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ -