Π Π°Π±ΠΎΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Python
Python ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°ΡΠΎΠΉ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ datetime
ΠΠ±ΡΠ΅ΠΊΡ
ΠΠ±ΡΠ΅ΠΊΡ
#Π³Π°ΠΉΠ΄Ρ #Π΄Π°ΡΠ° #Π²ΡΠ΅ΠΌΡ
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
Python ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°ΡΠΎΠΉ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ datetime
ΠΠ±ΡΠ΅ΠΊΡ
datetime.datetime
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°ΡΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ now()
, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄Π°ΡΡ.ΠΠ±ΡΠ΅ΠΊΡ
datetime.timedelta
ΡΡΠΎ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ, ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° timedelta
ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°Ρ.#Π³Π°ΠΉΠ΄Ρ #Π΄Π°ΡΠ° #Π²ΡΠ΅ΠΌΡ
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ wikipedia
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠ΅ΠΉ Π΅ΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ python, Π΅Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° pip (
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ·ΡΠΊΠ° Π² ΠΌΠ΅ΡΠΎΠ΄
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄
ΠΠ±ΡΠ΅ΠΊΡ Π²ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄
#Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #wikipedia
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠ΅ΠΉ Π΅ΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ python, Π΅Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° pip (
pip install wikipedia
).ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ·ΡΠΊΠ° Π² ΠΌΠ΅ΡΠΎΠ΄
set_lang
.Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄
search
, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° summary.ΠΠ±ΡΠ΅ΠΊΡ Π²ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄
page
, Π° Π΅Ρ ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡ content
Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ.#Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #wikipedia
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
Π¦Π²Π΅ΡΠ½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
Colorama - ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅ΠΉ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ANSI ΠΊΠΎΠ΄Ρ, Π²Π΅Π΄Ρ ΠΎΠ½ΠΈ Π²ΡΠΈΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ (
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
Colorama - ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅ΠΉ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ANSI ΠΊΠΎΠ΄Ρ, Π²Π΅Π΄Ρ ΠΎΠ½ΠΈ Π²ΡΠΈΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ (
pip install colorama
), ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ (import colorama
) ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° init()
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅ΡΠ°, ΡΠΎΠ½ ΠΈ ΡΡΠΈΠ»Ρ ΡΠ΅ΠΊΡΡΠ°. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ²Π΅ΡΠ° Fore.GREEN
ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ°ΡΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π² Π·Π΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π½Π° Π±Π΅Π»ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Back.WHITE
#Π³Π°ΠΉΠ΄Ρ #ΠΊΠΎΠ½ΡΠΎΠ»Ρ #ΡΠ²Π΅ΡΠ½ΠΎΠΉ_Π²ΡΠ²ΠΎΠ΄ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅...
Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°
ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠ°Π·Ρ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°: happy ΠΈΠ»ΠΈ sad, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ - Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² 12-ΡΠ°ΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
#ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅_ΡΠΈΡΠ»Π° #ΡΠ°Π½Π΄ΠΎΠΌ #random #Π³Π°ΠΉΠ΄Ρ
ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ
random
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ random Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ Π΄ΡΠΎΠ±Ρ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0.0 Π΄ΠΎ 1.0, Π° randint(a, b)
Π²Π΅ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ a Π΄ΠΎ b. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ choice, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΡΠΏΠΈΡΠΊΠ° ΠΈ shuffle, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΏΠΈΡΠΎΠΊ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠ°Π·Ρ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°: happy ΠΈΠ»ΠΈ sad, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ - Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² 12-ΡΠ°ΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
#ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅_ΡΠΈΡΠ»Π° #ΡΠ°Π½Π΄ΠΎΠΌ #random #Π³Π°ΠΉΠ΄Ρ
Π‘Π±ΠΎΡΠΊΠ° python ΡΠΊΡΠΈΠΏΡΠ° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»
Pyinstaller ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° python ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ pyinstaller ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° -
Π§ΡΠΎΠ± ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
#Π³Π°ΠΉΠ΄Ρ
Pyinstaller ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° python ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ pyinstaller ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° -
pip install pyinstaller
.Π§ΡΠΎΠ± ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pyinstaller --one-file main.py
, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ» ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ, ΡΡΠΎΠ± ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --no-console
.#Π³Π°ΠΉΠ΄Ρ
ΠΡΠ½ΠΎΠ²Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π°. ΠΠ°ΡΡΠΈΠΌ habr.
ΠΠ°ΡΡΠΈΠ½Π³ - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ±ΠΎΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ±ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΡΠΏΠ°ΡΡΠΈΠΌ ΡΡΠ°ΡΡΠΈ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π°Π±ΡΠ°.
ΠΠ»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: requests - Π΄Π»Ρ http Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°ΠΉΡΡ ΠΈ beautifulsoup4 - Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ html Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΠΏΠΈΡΠ°Π²
ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΠΎΠ΄ΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠ°ΡΡΠΈΠ½Π³. Π Π½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠ°Π»Π΅Π΅ Π² ΡΠΈΠΊΠ»Π΅, ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° select Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ»ΠΊΡ. ΠΠ΅ΡΠΎΠ΄ select Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #ΠΏΠ°ΡΡΠΈΠ½Π³ #habr
ΠΠ°ΡΡΠΈΠ½Π³ - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ±ΠΎΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ±ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΡΠΏΠ°ΡΡΠΈΠΌ ΡΡΠ°ΡΡΠΈ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π°Π±ΡΠ°.
ΠΠ»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: requests - Π΄Π»Ρ http Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°ΠΉΡΡ ΠΈ beautifulsoup4 - Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ html Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΠΏΠΈΡΠ°Π²
pip install requests
ΠΈ pip install beautifulsoup4
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
requests.get
ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Ρ
Π°Π±ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π΅Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡ beautifulsoup. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° beautifulsoup ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° select
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ css-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ.ΠΠΎΠ΄ΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠ°ΡΡΠΈΠ½Π³. Π Π½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠ°Π»Π΅Π΅ Π² ΡΠΈΠΊΠ»Π΅, ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° select Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ»ΠΊΡ. ΠΠ΅ΡΠΎΠ΄ select Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
articles[0]
. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅ΡΡΡ ΠΏΠΎΠ»Ρ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π΅ text ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Π° Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ attrs Ρ
ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #ΠΏΠ°ΡΡΠΈΠ½Π³ #habr
ΠΡΠ½ΠΎΠ²Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π°. ΠΡΡΠΈΠ±ΡΡΡ
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠΈΠ½Π³ ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡ Ρ ΡΠ°ΠΉΡΠΎΠ². ΠΠΎ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ°ΡΡΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ°Ρ html ΡΠ΅Π³ΠΎΠ².
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ Π²ΡΠ΄Π°ΡΡ ΡΠΠΈΡΠ Π΅Ρ
Π‘Π½ΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠ°ΡΡΠΈΠ½Π³. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΊΠ½ΠΈΠ³ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠ°ΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠ»ΡΡ
ΡΠ°Π·, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΉΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· select ΠΈ Π²ΡΡΠ°ΡΠΈΠ² ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅ text.
ΠΠΎ Π²ΠΎΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠΏΠ°ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅Π»ΡΠ·Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ ΡΠ΅Π³Π° Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡ src, Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ID ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π»Π΅ΠΆΠ°Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ json (
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #ΠΏΠ°ΡΡΠΈΠ½Π³ #Π°ΡΡΠΈΠ±ΡΡΡ
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠΈΠ½Π³ ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡ Ρ ΡΠ°ΠΉΡΠΎΠ². ΠΠΎ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ°ΡΡΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ°Ρ html ΡΠ΅Π³ΠΎΠ².
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ Π²ΡΠ΄Π°ΡΡ Ρ
ΠΠΎ Π²ΠΎΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠΏΠ°ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅Π»ΡΠ·Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ ΡΠ΅Π³Π° Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡ src, Ρ ΠΏΠΎΠΌΠΎΡΡΡ
attrs['src']
.ID ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π»Π΅ΠΆΠ°Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ json (
{ΠΊΠ»ΡΡ: 'Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅'}
), ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° find
ΠΈ ΡΡΠ΅Π·ΠΎΠ², Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΊΠ»ΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π·Π°Π΅ΠΌ Π»ΠΈΡΠ½Π΅Π΅ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #ΠΏΠ°ΡΡΠΈΠ½Π³ #Π°ΡΡΠΈΠ±ΡΡΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ°ΠΏΡ
ΠΠΎΠ΄ΡΠ»Ρ captcha. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠ΅ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΠΏΡΠΈ.
ΠΠΎΠ΄ΡΠ»Ρ string. Π₯ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π² ΡΠ°Π·Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ .
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΏΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² 8 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠΈΡΡΡ, Π±ΡΠΊΠ²Ρ ΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΡ.
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #string #captcha
ΠΠΎΠ΄ΡΠ»Ρ captcha. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠ΅ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΠΏΡΠΈ.
ΠΠΎΠ΄ΡΠ»Ρ string. Π₯ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π² ΡΠ°Π·Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ .
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΏΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² 8 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠΈΡΡΡ, Π±ΡΠΊΠ²Ρ ΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΡ.
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ #string #captcha
Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈ ΡΠΎΠΊΠ΅Π½Ρ
ΠΠΎΠ΄ΡΠ»Ρ
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ,
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #ΠΌΠΎΠ΄ΡΠ»Ρ #secrets
ΠΠΎΠ΄ΡΠ»Ρ
secrets
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠ»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΠΎΠ»ΠΈ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎΠΊΠ΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ.ΠΏ.Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ,
secrets
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΠΌΠΎΠ΄ΡΠ»Ρ random
, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ, Π° Π½Π΅ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ.Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
randbelow
ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ n ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· [0, n)
.ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
token_urlsafe
ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ nbytes
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ nbytes
ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
Π±Π°ΠΉΡΠΎΠ². Π’Π΅ΠΊΡΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ Π² Base64
, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1,3 ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΡΠ»ΠΈ nbytes
Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #ΠΌΠΎΠ΄ΡΠ»Ρ #secrets
Π’Π°ΠΉΠΌΠ΅Ρ
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΡΠ°ΡΡΡΠΌ:
ΠΠ΅ΡΠΎΠ΄
Π£
Π‘ΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»
π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #ΡΠ°ΠΉΠΌΠ΅Ρ
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΡΠ°ΡΡΡΠΌ:
ΠΠ΅ΡΠΎΠ΄
format
Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΡΠΎΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ "Π²ΡΡΠ°Π²ΠΈΡΡ" ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π²Π½ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ.Π£
print
Π΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ end
, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π΅Π½ "\n"
. ΠΡΠΎ ΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»/ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ(-Π°Ρ) Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² print
. "\r"
ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ ΠΊΡΡΡΠΎΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡΡΡ "ΠΏΠΎΠ²Π΅ΡΡ
" ΡΠΆΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ - ΡΠ΅ΠΊΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ. Π‘ΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»
"\a"
Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π».π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° // π¬ Π§Π°Ρ // #Π³Π°ΠΉΠ΄Ρ #ΡΠ°ΠΉΠΌΠ΅Ρ