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

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

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
Π Π°Π±ΠΎΡ‚Π° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² Python

Python содСрТит Π² сСбС ΠΌΠ½ΠΎΠ³ΠΎ инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, самый популярный это встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ datetime

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ datetime.datetime содСрТит Π² сСбС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ now(), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ datetime.timedelta это Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΈΠ½Ρ‹ΠΌΠΈ словами Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° timedelta Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π½Π° час.

#Π³Π°ΠΉΠ΄Ρ‹ #Π΄Π°Ρ‚Π° #врСмя

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅...
ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с wikipedia

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠ΅ΠΉ Π΅ΡΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ удобная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² прСдустанавливаСмыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ python, Π΅Ρ‘ трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° pip (pip install wikipedia).

Для установки языка ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ языка Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ set_lang.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ search, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² статСй ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ слову. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ Ρ€Π΅Π·ΡŽΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° summary.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ всСй страницы ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ page, Π° Π΅Ρ‘ тСкст ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ content Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° страницы.

#Π³Π°ΠΉΠ΄Ρ‹ #Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ #wikipedia

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅...
Π¦Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π² консоли

Colorama - самая популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ†Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π² консоль. Благодаря Π΅ΠΉ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ANSI ΠΊΠΎΠ΄Ρ‹, вСдь ΠΎΠ½ΠΈ Π²ΡˆΠΈΡ‚Ρ‹ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‘ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ (pip install colorama), ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (import colorama) ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° init()

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π°, Ρ„ΠΎΠ½ ΠΈ ΡΡ‚ΠΈΠ»ΡŒ тСкста. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ склСивания строки с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ†Π²Π΅Ρ‚Π° Fore.GREEN ΠΌΡ‹ пСрСкрасили строку Π² Π·Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ сразу нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π½Π° Π±Π΅Π»Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Back.WHITE

#Π³Π°ΠΉΠ΄Ρ‹ #консоль #Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ_Π²Ρ‹Π²ΠΎΠ΄

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅...
Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных чисСл Π² Python сущСствуСт встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random. НапримСр, одноимённая функция random Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Π΄Ρ€ΠΎΠ±ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0.0 Π΄ΠΎ 1.0, Π° randint(a, b) Π²Π΅Ρ€Π½Ρ‘Ρ‚ случайноС Ρ†Π΅Π»ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ a Π΄ΠΎ b. Π’Π°ΠΊΠΆΠ΅ часто Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ функция choice, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайный элСмСнт ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ списка ΠΈ shuffle, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ Π² случайном порядкС список, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π΅ΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ составляСм Ρ„Ρ€Π°Π·Ρƒ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ случайного настроСния нашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: happy ΠΈΠ»ΠΈ sad, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ - Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° экран случайноС врСмя Π² 12-часовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

#случайныС_числа #Ρ€Π°Π½Π΄ΠΎΠΌ #random #Π³Π°ΠΉΠ΄Ρ‹
Π‘Π±ΠΎΡ€ΠΊΠ° python скрипта Π² исполняСмый Ρ„Π°ΠΉΠ»

Pyinstaller собираСт python-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ всС зависимости Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· установки ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. УстанавливаСтся pyinstaller ΠΊΠ°ΠΊ ΠΈ любая другая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° - pip install pyinstaller.

Π§Ρ‚ΠΎΠ± ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pyinstaller --one-file main.py, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ» собираСтся с консолью, Ρ‡Ρ‚ΠΎΠ± ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --no-console.

#Π³Π°ΠΉΠ΄Ρ‹
ΠžΡΠ½ΠΎΠ²Ρ‹ парсинга. ΠŸΠ°Ρ€ΡΠΈΠΌ 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, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ attrs['src'].

ID ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»Π΅ΠΆΠ°Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ json ({ΠΊΠ»ΡŽΡ‡: 'Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅'}), поэтому с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° find ΠΈ срСзов, Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°Π΅ΠΌ лишнСС ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² консоль.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #Π³Π°ΠΉΠ΄Ρ‹ #Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ #парсинг #Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹
ГСнСрация ΠΊΠ°ΠΏΡ‡

ΠœΠΎΠ΄ΡƒΠ»ΡŒ captcha
. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ голосовыС ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°ΠΏΡ‡ΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ string. Π₯Ρ€Π°Π½ΠΈΡ‚ Π² сСбС строки с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ символами Π² Ρ€Π°Π·Π½Ρ‹Ρ… рСгистрах.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Π΄Π²ΡƒΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² 8 символов ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρ‹, Π±ΡƒΠΊΠ²Ρ‹ ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #Π³Π°ΠΉΠ΄Ρ‹ #Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ #string #captcha
Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹

ΠœΠΎΠ΄ΡƒΠ»ΡŒ secrets ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ криптографичСски ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… случайных чисСл, подходящих для управлСния Ρ‚Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, аутСнтификация ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ бСзопасности ΠΈ Ρ‚.ΠΏ.

Π’ частности, secrets слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ вмСсто Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл модуля random, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для модСлирования ΠΈ симуляции, Π° Π½Π΅ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ randbelow ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ n ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ число ΠΈΠ· [0, n).

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ token_urlsafe ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ nbytes ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ nbytes случайных Π±Π°ΠΉΡ‚ΠΎΠ². ВСкст Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ Π² Base64, поэтому Π² срСднСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π°ΠΉΡ‚ содСрТит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1,3 символа. Если nbytes Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #Π³Π°ΠΉΠ΄Ρ‹ #ΠΌΠΎΠ΄ΡƒΠ»ΡŒ #secrets
Π’Π°ΠΉΠΌΠ΅Ρ€

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ довольно простой, Π½ΠΎ ΠΏΡ€ΠΈ этом интСрСсный ΠΊΠΎΠ΄ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, пройдСмся ΠΏΠΎ Π΅Π³ΠΎ частям:

ΠœΠ΅Ρ‚ΠΎΠ΄ format Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ строк. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ "Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ" ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, значСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ вычислСний Π²Π½ΡƒΡ‚Ρ€ΡŒ строки.

Π£ print Π΅ΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ end, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ "\n". Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ символ/строка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ(-ая) выводится послС всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² print. "\r" пСрСносит курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ строки, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒΡΡ "ΠΏΠΎΠ²Π΅Ρ€Ρ…" ΡƒΠΆΠ΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… символов. ΠŸΡ€ΠΎΡ‰Π΅ говоря - тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ.

БпСцсимвол "\a" Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал.

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° // πŸ’¬ Π§Π°Ρ‚ // #Π³Π°ΠΉΠ΄Ρ‹ #Ρ‚Π°ΠΉΠΌΠ΅Ρ€