🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍
2.56K subscribers
1.01K photos
23 videos
285 links
🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

πŸ‘½ Админ - @it_dashka
πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous Poll
22%
False
5%
-3
6%
-4
47%
0
22%
ΠžΡˆΠΈΠ±ΠΊΡƒ
This media is not supported in your browser
VIEW IN TELEGRAM
Interactive Radio Button Animation β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS ΠΈ JavaScript
❀2
➑️ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Selenium

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² создании автообновлСния страницы - использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Selenium. Selenium - это Π½Π°Π±ΠΎΡ€ инструмСнтов для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². Он позволяСт Python Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π΄Π΅Π»Π°Π» Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Π΅Π±-страницу ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅.

βž‘οΈΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

from selenium import webdriver

driver = webdriver.Firefox() # ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€
driver.get('<http://www.example.com>')



➑️ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° refresh

Π’Ρ‚ΠΎΡ€ΠΎΠΉ шаг - это использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° refresh Π² Selenium. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ страницу. Π’ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ time Π² Python, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ скрипт Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ автоматичСски обновлял страницу Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

βž‘οΈΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

import time

while True:
driver.refresh() # обновляСм страницу
time.sleep(10) # ΠΆΠ΄Π΅ΠΌ 10 сСкунд
Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово async Π² Python?

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово async Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания асинхронных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΈΠ»ΠΈ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ блокируя основной ΠΏΠΎΡ‚ΠΎΠΊ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ опСрациями, ΠΊΠ°ΠΊ сСтСвыС запросы, взаимодСйствиС с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/запись Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ асинхронной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
import asyncio

async def fetch_data():
print("Fetching data...")
await asyncio.sleep(2) # симуляция Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
print("Data fetched")
return "Data"

async def main():
result = await fetch_data()
print(result)

# запуск асинхронной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
asyncio.run(main())

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, async ΠΈΠ΄Ρ‘Ρ‚ Π² ΠΏΠ°Ρ€Π΅ с await, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ приостанавливаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ fetch_data Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ asyncio.sleep(2).
❀1
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄?
Anonymous Poll
12%
1 2
29%
2 1
49%
ΠžΡˆΠΈΠ±ΠΊΡƒ
10%
Π£Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
βž‘οΈΠ§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ importlib?

Π­Ρ‚ΠΎ встроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, которая прСдоставляСт интСрфСйс для ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅Ρ€Ρ‹!

βž‘οΈΠ’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования importlib:

import importlib

# ДинамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля
math = importlib.import_module('math')

# ИспользованиС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ модуля
print(math.pi) # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 3.141592653589793

# ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° модуля
importlib.reload(math)


➑️Б importlib Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:
β€’ ДинамичСски ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
β€’ ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²ΠΎ врСмя выполнСния
β€’ Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅Ρ€Ρ‹
β€’ Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с пространствами ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

πŸ”ŽΠ­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° особСнно ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², создании Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π°.
πŸ‘3
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous Poll
60%
True
37%
False
1%
None
2%
ΠžΡˆΠΈΠ±ΠΊΡƒ