We're doing DDoS attack with this one π£οΈ π₯
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: `browser` ΠΈ `link`. ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΊΠ» `for`, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ `product_links` ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`.
π Π’Π΅ΠΊΡΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
```await asyncio.gather( parse_page(browser, link) for link in product_links)```
Π―Π·ΡΠΊ ΡΠ΅ΠΊΡΡΠ°: Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ.
@winet ΡΠΊΠΎΡΠ΅Π΅ "ΠΌΡ Π½Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π½Π° ΡΠ΅ΠΉΡΠ»ΠΈΠΌΠΈΡ"
@mo Π° Π²ΠΎΡ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅: Π΅Π³ΠΎ Π½Π΅Ρ) ΠΈ ΡΠ°ΠΊ ΡΠΆΠ΅ 3-4 ΠΌΠ΅ΡΡΡΠ°
@winet ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ΅ΠΌΠΏΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ :blobcatgooglytrash:
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: `browser` ΠΈ `link`. ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΊΠ» `for`, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ `product_links` ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`.
π Π’Π΅ΠΊΡΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
```
await asyncio.gather(
parse_page(browser, link)
for link in product_links
)
```
Π―Π·ΡΠΊ ΡΠ΅ΠΊΡΡΠ°: Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ.
π ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: `browser` ΠΈ `link`. ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΊΠ» `for`, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ `product_links` ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ `parse_page`.
π Π’Π΅ΠΊΡΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅