ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests Π² Python

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests?

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ HTTP/1.1-запросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Python. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Ρ„ΠΎΡ€ΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° β€” это Π½Π°Π±ΠΎΡ€ ΠΈΠ»ΠΈ, Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ настроСнный Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² дальнСйшСм ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π­Ρ‚ΠΈ элСмСнты часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ модулями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚, Π±Π΅Π· явной связи с вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Они Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π½ΠΈΠΌΠΈ, ΠΈ всС ΠΆΠ΅ ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎ модулях ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎ Π½Π΅ΠΊΠΈΡ… ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… ΠΊΠΎΠ΄Π°.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌΡΡ Π΅Ρ‰Π΅ Ρ€Π°Π·, Requests β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° языка Python.

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Requests

Π‘Ρ€Π°Π·Ρƒ сообщим Π²Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ: сущСствуСт мноТСство способов для установки Requests. Π‘ ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip, easy_install ΠΈΠ»ΠΈ tarball.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ исходный ΠΊΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ Π½Π° GitHub.

ΠœΡ‹ для установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ pip.

Π’ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ Python Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля Requests

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Requests Π² Python Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, просто помСстив ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Π½Π°Ρ‡Π°Π»ΠΎ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

РазумССтся, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн ΠΈ доступСн для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

Π”Π΅Π»Π°Π΅ΠΌ запрос

Когда Π²Ρ‹ ΠΏΠΈΠ½Π³ΡƒΠ΅Ρ‚Π΅ Π²Π΅Π±-сайт ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚Π°Π» для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚ΠΎ это ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ называСтся созданиСм запроса.

Для получСния Π²Π΅Π±-страницы Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Π΄ΡƒΡ…Π΅:

Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π°

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π²Π΅Π±-сайтом ΠΈΠ»ΠΈ URL, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½ΡƒΠ» Π²Π°ΠΌ сСрвСр. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ содСрТимоС страницы

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ сСрвСр Π²Π°ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ дСлаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests.

Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ словари Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для получСния доступа ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ»ΡŽΡ‡Π°Ρ… словаря ΠΊΠ°ΠΊ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ строчныС Π±ΡƒΠΊΠ²Ρ‹.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests автоматичСски Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ любой ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· сСрвСра. Π₯отя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°Π±ΠΎΡ€ΠΎΠ² символов Unicode Π² любом случаС Π»Π΅Π³ΠΊΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Когда Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π² дальнСйшСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π²Π°ΠΌΠΈ r.text Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π² HTTP-запрос, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².

ΠŸΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡ ΠΈ история

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ POST-запроса HTTP

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ массу Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitHub:

Ошибки ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π•ΡΡ‚ΡŒ ряд ошибок ΠΈ ΠΈΡΠΊΠΎΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ использовании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Π±ΠΈΠ»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Requests Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, пройдя ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ссылкам:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

HTTP-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° requests Π² Python.

ΠŸΡ€ΠΎΡΡ‚Π°Ρ Π² использовании HTTP-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Python.

Установка модуля requests Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ HTTP запроса ΠΊ WEB-страницС.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ API запросов ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС Ρ„ΠΎΡ€ΠΌΡ‹ HTTP-запросов ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹. НапримСр, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ запрос HTTP POST:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² HTTP-запросов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ PUT, DELETE, HEAD ΠΈ OPTIONS всС это Ρ‚Π°ΠΊ ΠΆΠ΅ просто ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ requests Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡΠ½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ requests.get() ΠΈΠ»ΠΈ requests.post() ΠΈ Ρ‚. Π΄., Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Response содСрТит всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡƒΡŽ сСрвСром, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создали ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ

Код ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра ( status code ).

МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ состояния ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

ΠœΠΎΠ΄ΡƒΠ»ΡŒ requests Ρ‚Π°ΠΊΠΆΠ΅ поставляСтся со встроСнным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ поиска ΠΊΠΎΠ΄Π° состояния requests.codes для удобства использования:

Если сдСлан ΠΏΠ»ΠΎΡ…ΠΎΠΉ запрос (ошибка ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 4XX ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ сСрвСра 5XX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π° Response.raise_for_status() :

Но Ссли Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Response.raise_for_status() для ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра со статусом 200, Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ None :

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° WEB-страницы Π² Π²ΠΈΠ΄Π΅ тСкста.

Π˜Π·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ/Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°/тСкста ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра Ρ‚Π°ΠΊΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ запросы. Π•Ρ‰Π΅ Ρ€Π°Π· рассмотрим Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡˆΠΊΠ°Π»Ρƒ GitHub:

Запросы Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС с сСрвСра. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ юникода Π»Π΅Π³ΠΊΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Когда посылаСтся запрос, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π΄Π΅Π»Π°Π΅Ρ‚ обоснованныС прСдполоТСния ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° основС HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². ΠŸΡ€ΠΈ доступС ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ resp.text ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, прочитанная ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ requests Π²ΠΎ врСмя запроса ΠΊ сСрвСру. Если сСрвСр Π½Π΅ прСдоставляСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ страницы Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ распознана, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ requests ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ‘utf-8’. МоТно ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ запрос, ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ resp.encoding :

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚ΠΎΠ².

МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Π΅Π»Ρƒ ΠΎΡ‚Π²Π΅Ρ‚Π° Π² Π±Π°ΠΉΡ‚Π°Ρ… для нСтСкстовых запросов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ gzip ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ deflate автоматичСски Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… запросом, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

НапримСр, GitHub пСрСнаправляСт всС HTTP-запросы Π½Π° HTTPS:

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запросы GET, OPTIONS, POST, PUT, PATCH ΠΈΠ»ΠΈ DELETE, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ пСрСнаправлСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° allow_redirects :

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ HEAD запрос, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ отслСТиваниС пСрСнаправлСния:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests:
эффСктивныС ΠΈ простыС
HTTP-запросы Π² Python

ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. a21 Smartiqa python. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows-a21 Smartiqa python. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° a21 Smartiqa python. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. basic calendar. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows-basic calendar. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° basic calendar. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Requests

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ потрСбностСй соврСмСнных web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. МногиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° Ρ€ΡƒΡ‡Π½Ρ‹Π΅ настройки свСдСны ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ.

Для понимания инструмСнтария Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ пСрСчислим Π΅Π΅ основныС возмоТности:
– ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° постоянного HTTP-соСдинСния ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС;
– ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²;
– использованиС Cookie : ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ;
– автоматичСскоС Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°;
– SSL вСрификация;
– аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ рСсурсов с сохранСниСм;
– ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° proxy ΠΏΡ€ΠΈ нСобходимости;
– Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²;
– стриминговыС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ запросы;
– Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ соСдинСний;
– ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π½Π° web-рСсурсы ΠΈ Π΄Ρ€.

Π’ Ρ†Π΅Π»ΠΎΠΌ, практичСски любая Π·Π°Π΄Π°Ρ‡Π°, которая Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, нашла своС ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Requests Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для парсинга ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра (для этого ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Beautiful Soup ).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Requests Π² Python – ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ выполнСния HTTP запросов

ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. DevOps Worm 2021. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows-DevOps Worm 2021. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° DevOps Worm 2021. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. Requests Python 1. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows-Requests Python 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Requests Python 1. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° requests являСтся стандартным инструмСнтом для составлСния HTTP-запросов Π² Python. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΉ API Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ процСсс создания запросов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° взаимодСйствии со слуТбами ΠΈ использовании Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ прСдставлСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ особСнности requests. Показано, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡ‚ΡŒ requests ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ситуациям, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ программисты ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π°Ρ‰Π΅ всСго. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°ΡŽΡ‚ΡΡ совСты ΠΏΠΎ эффСктивному использованию requests ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ влияния сторонних слуТб, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ сильно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ прилоТСния. ΠœΡ‹ использовали Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ requests Π² ΡƒΡ€ΠΎΠΊΠ΅ ΠΏΠΎ парсингу html Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ BeautifulSoup.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ аспСкты инструкции:

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

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ использования requests Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Python установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ requests

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ requests Π² Python

Π Π°Π±ΠΎΡ‚Π° с HTTP-запросами – нСпростая Π·Π°Π΄Π°Ρ‡Π° для любого языка программирования. Если ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Python, ΠΎΠ½ поставляСтся с двумя встроСнными модулями urllib ΠΈ urllib2 для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с HTTP. Оба модуля ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ часто ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС. Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток использования urllib состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ (нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² доступно ΠΊΠ°ΠΊ Π² urllib, Ρ‚Π°ΠΊ ΠΈ Π² urllib2), докумСнтация Π½Π΅ ясна, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ простой HTTP-запрос.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ эти Π²Π΅Ρ‰ΠΈ, доступна ΠΎΠ΄Π½Π° простая Π² использовании сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, извСстная ΠΊΠ°ΠΊ Requests, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ вмСсто urllib ΠΈΠ»ΠΈ urllib2. Π­Ρ‚ΠΎ лицСнзированная HTTP-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Apache2, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° urllib3 ΠΈ httplib.

Установка requests

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python, довольно просто. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ с Github ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip:

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ процСссС установки ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установку, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Если ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ модуля Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ошибок, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ запроса GET

GET Π½Π° сСгодняшний дСнь являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ HTTP. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ запрос GET для извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· любого мСста назначСния. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТимоС домашнСй страницы нашСго Π²Π΅Π±-сайта ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π²ΠΈΠ΄Π΅ HTML-Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ запросов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π°

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° HTTP-запрос ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ мноТСство Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², содСрТащих Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. the python requests module 1. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows-the python requests module 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ requests Π² python 3 windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° the python requests module 1. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Requests.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Β«Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚Π°Β» являСтся нашим ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащиС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ рСсурсС ΠΈ запросС. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ эти значСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ запросов:

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ r.headers, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ Π½Π΅ чувствитСлСн ΠΊ рСгистру.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΎΡ‚Π²Π΅Ρ‚Π°. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ находится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON: (Content-type: application/json). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° запросов поставляСтся с ΠΎΠ΄Π½ΠΈΠΌ встроСнным парсСром JSON, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ request.get (β€˜url’). Json() для Π°Π½Π°Π»ΠΈΠ·Π° Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JSON. Π—Π°Ρ‚Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π’Ρ€Π΅Ρ‚ΡŒΡ строка, ierjson(), Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° JSON. ΠœΡ‹ сохранили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ JSON Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ распСчатали Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΏΠ°Ρ€Π° Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΊ рСгистру.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² GET

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вмСстС с вашими запросами GET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ строк запроса. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ эти значСния Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ params, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ присваиваСм значСния Π½Π°ΡˆΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ – запросу GET Ρ‡Π΅Ρ€Π΅Π· params. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Reqeusts автоматичСски ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»Π° наш ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² строку запроса ΠΈ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΠ»Π° Π΅Π΅ ΠΊ URL-адрСсу.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· запросы GET, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ полСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²ΠΈΠ΄Π½Π° Π² URL-адрСсС, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов POST

Запросы HTTP POST ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ запросам GET, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр, Π° Π½Π΅ для ΠΈΡ… получСния. Π₯отя запросы POST Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈ запросы GET.

ВмСсто использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get() Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ post(). Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΄Π°Π½Π½Ρ‹Ρ…:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Β«Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅Β». Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС запросы Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Ссли нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠ»ΡŽΡ‡, строку вмСсто словаря ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» с ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²

Иногда Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт Ρ„ΠΎΡ€ΠΌΡƒ, ΠΎΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ поля Ρ„ΠΎΡ€ΠΌΡ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ‚.Π΄. Запросы ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ запросС. Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, помСстив Ρ„Π°ΠΉΠ»Ρ‹ Π² список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ, содСрТащиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ (field_name, file_information).

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ HTTP-запросов

Подобно GET ΠΈ POST, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ HTTP-запросы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ PUT, DELETE, HEAD ΠΈ OPTIONS, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ запросов, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ

ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² HTTP ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ пСрСсылку сСтСвого запроса Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ URL-адрСс. НапримСр, Ссли ΠΌΡ‹ сдСлаСм запрос Π½Π° Β«http://www.github.comΒ», ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° Β«https://github.comΒ» с использованиСм 301 Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π°.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, процСсс пСрСнаправлСния автоматичСски обрабатываСтся запросами, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ этим ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Бвойство history содСрТит список всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚Π°, созданных для выполнСния пСрСнаправлСния. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π»ΠΈ созданы Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Response с ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° 301. ΠžΡ‚Π²Π΅Ρ‚Ρ‹ HTTP 301 ΠΈ 302 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для постоянного ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ пСрСнаправлСния соотвСтствСнно.

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° запросов автоматичСски выполняла пСрСнаправлСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ allow_redirects = False вмСстС с запросом.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ²

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

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ врСмя оТидания запросов Π½Π΅ истСкаСт. Π˜Ρ‚Π°ΠΊ, Ссли ΠΌΡ‹ Π½Π΅ настроим это свойство, наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎ Π½Π΅ являСтся Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² процСссС, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΆΠ΄Π°Ρ‚ΡŒ.

Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли сСрвСр Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 1 сСкунды (Ρ‡Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ агрСссивно для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния). Π§Ρ‚ΠΎΠ±Ρ‹ это происходило Ρ‡Π°Ρ‰Π΅ (для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°), Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π» Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° Π½Π° Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 0,001.

Π’Π°ΠΉΠΌ-Π°ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настроСн ΠΊΠ°ΠΊ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Β«ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΒ», Ρ‚Π°ΠΊ ΠΈ для «чтСния» запроса с использованиСм ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π° значСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ:

Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Β«ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΒ» составляСт 5 сСкунд, Π° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ «чтСния» – 14 сСкунд. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΡˆΠ΅ΠΌΡƒ запросу Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ссли ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ рСсурсу, Π° Ссли ΠΎΠ½ всС ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ, это даст Π΅ΠΌΡƒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π€Π°ΠΉΠ»Ρ‹ cookie ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ

Π Π°Π½Π΅Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства headers. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ cookie ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство cookie.

НапримСр, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ cookie с ΠΈΠΌΠ΅Π½Π΅ΠΌ cookie_name:

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ cookie Π½Π° сСрвСр, прСдоставляя ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° cookie Π² нашСм запросС GET.

Π€Π°ΠΉΠ»Ρ‹ cookie Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Cookie Jar. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, назначая ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ запроса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ сСанса

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ сСанса Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сохранСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² cookie, Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… HTTP-запросах. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ сСанса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ TCP-соСдинСниС для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСтСвых запросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡƒΡ‚ΡŒ httpbin/cookies/set /<имя>/ <Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>установит Ρ„Π°ΠΉΠ» cookie с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ устанавливаСм Ρ€Π°Π·Π½Ρ‹Π΅ значСния cookie для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² first_session ΠΈ second_session. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» cookie возвращаСтся Π²ΠΎ всСх Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… сСтСвых запросах для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСанса.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сСанса для сохранСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для всСх запросов.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, default_cookie отправляСтся с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ запросом сСанса. Если ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ cookie, ΠΎΠ½ добавится ΠΊ Ρ„Π°ΠΉΠ»Ρƒ default_cookie. Β«first-cookieΒ»: Β«111Β» добавляСтся ΠΊ cookie ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Β«default_cookieΒ»:Β»defaultΒ».

ИспользованиС прокси

АргумСнт proxies ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для настройки прокси-сСрвСра для использования Π² Π²Π°ΡˆΠΈΡ… запросах.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° запросов Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ прокси SOCKS. Π­Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ функция, ΠΈ ΠΎΠ½Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π±Ρ‹Π»Π° установлСна Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ requests [socks]. Как ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip:

ПослС установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° SSL

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ запросов для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сСртификата HTTPS Π²Π΅Π±-сайта, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² запрос verify = true.

Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с SSL сайта. Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ истинности, просто ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ False вмСсто True. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True.

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запросов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ содСрТимого, Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Π€Π»Π°Π³ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² повСдСния.

Как Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадались, Ссли stream ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, запросы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Если stream ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, вСсь ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ Π²Π°ΠΌ.

Для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° iter_content ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ построчно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ iter_line. Π’ любом случаС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΠΎ частям.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с сСрвСра Pixabay ΠΈ сохранит Π΅Π³ΠΎ Π² локальном Ρ„Π°ΠΉΠ»Π΅ sun-hat.jpg.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство raw ΠΈ stream = True Π² запросС.

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ iter_content().

Ошибки ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Запросы Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ошибок, Ссли ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΡΠ΅Ρ‚ΡŒΡŽ. ВсС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ класса requests.exceptions.RequestException.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΈ описаниС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом руководствС я объяснил Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ запросов ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы Π΅Π΅ использования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ запросов Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для взаимодСйствия с REST API, Π½ΠΎ ΠΈ Π² Ρ€Π°Π²Π½ΠΎΠΉ стСпСни ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для сбора Π΄Π°Π½Π½Ρ‹Ρ… с Π²Π΅Π±-сайта ΠΈΠ»ΠΈ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *