ΠΠ΄1Π ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ°: ΠΠΈΡΡΡ Π°Π»ΡΠΌΠΈΠ½ΠΈΠ²ΡΠ΅ ΠΠ1Π
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
π ΠΠ»ΡΠΌΠΈΠ½ΠΈΠΉ ΠΠ1Π ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΡΠ°Π² β Π’ΠΠ Π‘Π Π² ΠΠ»ΠΌΠ°ΡΡ
Π‘Π½Π°Π±ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΌ β ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ½Π°Π±ΠΆΠ°Π΅Ρ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ² ΡΠΈΡΠΎΠΊΠΈΠΌ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ. ΠΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΉ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΏΡΠΎΠΊΠ°Ρ. ΠΠ° Π½Π°ΡΠΈΡ Π±Π°Π·Π°Ρ , ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΠΠ‘Π’Ρ, Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΠΈ Π½Π΅ΠΊΠΎΠ½Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΎΡΡΠ°ΠΌΠ΅Π½Ρ. ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΏΡΠΎΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΅ΡΡΡ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠΆΠ΅ Π² Π΄Π΅Π½Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π°. ΠΡ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π·Π°ΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΠΎΡΡΠ°ΠΌΠ΅Π½ΡΠ° Π½Π° Π²ΡΠ³ΠΎΠ΄Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
ΠΠ°ΡΠΊΠ° Π°Π»ΡΠΌΠΈΠ½ΠΈΡ ΠΠ1Π
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠ°ΡΠΊΠΈ ΠΠ1Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»ΡΠΌΠΈΠ½ΠΈΠΉ ΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΡΠΈΡΡΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ 98%. ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π½ΡΠ½Π°Ρ Π΄ΠΎΠ»Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»ΡΠΌΠΈΠ½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ, ΡΡΡΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΏΡΠΎΠΊΠ°ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠΎΠ»ΡΡΠ°Π±ΡΠΈΠΊΠ°ΡΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ»ΠΈΡΠΊΠΎΠ² ΠΈ ΡΡΡΠ΅ΠΊ.
ΠΠ»ΡΠΌΠΈΠ½ΠΈΠΉ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π² Π°Π²ΠΈΠ°-, ΠΌΠ°ΡΠΈΠ½ΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π·Π° ΡΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²ΠΎΠΉΡΡΠ². ΠΠ·Π΄Π΅Π»ΠΈΡ ΠΈΠ· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π»Π΅Π³ΠΊΠΎΡΡΡΡ, ΠΏΡΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡΡ.
Π₯ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΡΠ°Π²
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΠΎΡΡΠ°Π² ΠΌΠ°ΡΠΊΠΈ ΠΠ1Π ΠΏΠΎΠΌΠΈΠΌΠΎ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΡΠ½ΡΠΉ ΡΠΎΡΡΠ°Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. Π‘ΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΈΡΡΠΎΡΡ ΠΌΠ΅ΡΠ°Π»Π»Π° Π±ΠΎΠ»Π΅Π΅ 99%, Π½Π° Π΄ΠΎΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ 0,5-1,5%. Π ΡΠΎΡΡΠ°Π² ΠΌΠΎΠ³ΡΡ Π²Ρ ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅Π΄Ρ, ΠΊΡΠ΅ΠΌΠ½ΠΈΠΉ, ΠΌΠ°Π³Π½ΠΈΠΉ, ΠΌΠ°Π³Π½ΠΈΠΉ, ΡΠΈΠ½ΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠ°Π»Π»Ρ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
Π€ΠΈΠ·ΠΈΠΊΠΎ-ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
Π€ΠΈΠ·ΠΈΠΊΠΎ-ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΡΠΌΡ, ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π²Π° ΠΎΠ±ΡΠ°Π·ΡΠ°. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²Π»ΠΈΡΠ΅Ρ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π»Π»Π° β Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ, ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠ²ΠΊΠ° ΠΈ Ρ.Π΄. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΊΠΈ:
|
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° ΠΏΠ»Π°Π²Π»Π΅Π½ΠΈΡ, Β°Π‘
|
Π£Π΄Π΅Π»ΡΠ½ΡΠΉ Π²Π΅Ρ, Π³/ΡΠΌ3
|
ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠ΅ΠΏΠ»ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΡΡΠΈ
|
ΠΠ°Π³Π½ΠΈΡΠ½ΠΎΡΡΡ
|
Π‘Π²Π°ΡΠΊΠ°
|
|
660
|
26,98
|
2,3
|
Π½Π΅ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΠΉ
|
Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
|
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Ρ
Π°ΡΠ°ΠΊΡΠ΅Ρ.
ΠΠ°ΡΠΊΠ° ΠΠ1Π Π»Π΅Π³ΠΊΠΎ ΡΠ²Π°ΡΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ. ΠΠ»ΡΠΌΠΈΠ½ΠΈΠΉ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ»Π΅Π½ΠΊΠΎΠΉ ΠΎΠΊΡΠΈΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΌΠ΅ΡΠ°Π»Π» ΠΎΡ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ ΠΠ1Π
Π β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π΅ΡΠΆΠ°Π²Π΅ΡΡΠΈΠΉ Ρ Π½Π°Π½Π΅ΡΠ΅Π½Π½ΡΠΌ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ΠΌ;
1 β ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΈΡΡΠΎΡΡ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ;
Π β ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΡΠ³ΠΊΠΎΠ³ΠΎ, ΠΏΠ»Π°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ°Π»Π»Π°.
Π‘ΠΎΡΡΠ°ΠΌΠ΅Π½Ρ Π°Π»ΡΠΌΠΈΠ½ΠΈΡ ΠΠ1Π
|
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΎΠ²Π°ΡΡ
|
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
|
|
ΠΠ»ΡΠΌΠΈΠ½ΠΈΠ΅Π²Π°Ρ ΡΡΡΠ±Π° ΠΠ1Π
|
ΠΠ΅ΡΠ°Π»ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ²Π°ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ
|
|
ΠΠ»ΡΠΌΠΈΠ½ΠΈΠ΅Π²ΡΠΉ Π»ΠΈΡΡ ΠΠ1Π
|
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ²Π°ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΠΈΡΠ΅Π²Π°Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π΅ΠΌΠΊΠΎΡΡΠ΅ΠΉ
|
|
ΠΠ»ΡΠΌΠΈΠ½ΠΈΠ΅Π²Π°Ρ ΡΠΎΠ»ΡΠ³Π° ΠΠ1Π
|
ΠΠΈΡΠ΅Π²Π°Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΡ
|
Π‘ΡΠ°Π»Ρ ΠΌΠ°ΡΠΊΠΈ ΠΠ1Π ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΠΌΠ°ΡΠΊΠΈ ΡΡΠ°Π»ΠΈ ΠΈ ΡΠΏΠ»Π°Π²ΠΎΠ² Π² ΠΠ»ΠΌΠ°ΡΡ
ΠΠ°ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΊΠΈ ΠΊΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ Π°Π»ΡΠΌΠΈΠ½ΠΈΠ΅Π²ΡΠ΅ ΠΏΠΎΠ΄ ΠΎΠΏΡΠ΅ΡΡΠΎΠ²ΠΊΡ (Π’Π)
| Β | 127282, ΠΠΎΡΠΊΠ²Π°, ΡΠ». +7 (499) 290-30-16Β Β [email protected]Β +7 (495) 973-16-54
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Π‘Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΄Π°Π½Π½ΡΡ
05 ΡΠ½Π²Π°ΡΡ 2017 Π³.
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΈΡΠ°ΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅?
Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅Π½Π°Ρ , ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΠΌ. Yahoo Finance ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΡΠΊΡΠ΅Π±Π°Ρ ΠΈΡ ΠΏΡΡΠΌΠΎ Ρ ΡΠ°ΠΉΡΠ°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ
ΠΠ»Ρ ΠΎΡΠΈΡΡΠΊΠΈ Π½Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
- urllib2 β ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π°ΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°: Requests ΠΈ urlopen. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Python, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌ ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ»ΠΊΡ Yahoo Finance ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅.
- time β ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Python Π² ΡΠΏΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ Yahoo Finance.
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π²Π΅ΡΠ½Π΅Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΊΡΠΈΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΊΡΠΈΠΈ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» Python Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ scrape_fundamental_data.py ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π°ΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: urlib2 Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Requests ΠΈ urlopen, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ΅Π»Π°Π΅ΠΌ ΡΠ°ΠΊ:
from urllib2 import Request,urlopen Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌ_ΡΠΊΡΠ΅ΠΉΠΏΠ΅ΡΠΎΠΌ. ΠΡΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΡΠΈΠΊ.
ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° urllib2, urlopen Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
Yahoo Finance Π΄Π°Π΅Ρ Π½Π°ΠΌ ΡΡΡΠ»ΠΊΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠΌ Π΄Π°Π½Π½ΡΠΌ. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΡ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΠΎΠ΄Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ (ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ) ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
- ΡΡΠ°Π²ΠΊΠ° — ‘Π±’
- Π·Π°ΠΊΡΡΡΡ — ‘Ρ’
- ΠΎΡΠΊΡΡΡΡ — ‘ΠΎ’
- Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡ — ‘Π³’
- Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½ — ‘c1’
- ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ — ‘p2’
- Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ — ‘Π³’
- Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ — ‘Ρ’
- 1_year_target_price — ‘t8’
- 200_day_ma_dollar_change (ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ°Ρ ΡΡΠ΅Π΄Π½ΡΡ) — ‘m5’
- 200_day_ma_percent_change — ‘m6’
- 50_day_ma_dollar_change — ‘m7’
- 50_day_ma_percent_change — ‘m8’
- 200_day_ma — ‘m4’
- 50_day_ma — ΠΌ3
- Π΄ΠΎΡ ΠΎΠ΄ — ‘s6’
- 52_week_high β Β«ΠΊΒ»
- 52_week_low — ‘j’
- 52_week_range — ‘Π½’
- market_cap — ‘j1’
- float_shares — ‘f6
- ΠΈΠΌΡ -‘n’
- ΡΠΈΠΌΠ²ΠΎΠ» -‘s’
- ΠΎΠ±ΠΌΠ΅Π½ -‘x’
- Π°ΠΊΡΠΈΠΈ_Π² ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ — ‘j2’
- ΡΠΎΠΌ -‘v’
- ask_size — ‘a5’
- bid_size — ‘b6’
- last_trade_size — ‘k3’
- ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ — ‘a2’
- eps — ‘Π΅’
- current_eps_estimate — ‘e7’
- next_year_eps_estimate — ‘e8’
- next_quarter_eps_estimate — ‘e9’
- book_value — ‘b4’
- Π΅Π±ΠΈΡΠ΄Π° — ‘j4’
- ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ — ‘p5’
- ΡΠ΅Π½Π°_ΠΊ_ΠΊΠ½ΠΈΠ³Π΅ — ‘p6’
- ΠΏΡ-‘Ρ’
- ΡΡΠΈΡΡ — ‘r5’
- ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ — ‘s7’
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΈΠ· urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ [‘pe’,’peg’,’volume’], Π½ΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ? ΠΡ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ metrics = ‘all’ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΠ΅Ρ
ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ. ΠΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° urllib2, urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
ΠΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ_metrics.txt. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΈΠΌ Π²Π΅ΡΠ½ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈΡ Π±ΠΈΡΠΆΠ΅Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΉ ΠΈ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΠΊΠ»ΡΡ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ Π±ΠΈΡΠΆΠ΅Π²ΡΠΌ ΡΠΈΠΊΠ΅ΡΠΎΠΌ, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ (ΠΊΠ»ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π° ΠΏΡΡΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΈΡ d1 ΠΈ d2. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ, ΠΈ Π½Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° urllib2, urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΡΡΠ΅ d1 β ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΡΠΈΠΊΠ΅ΡΡ, Π° d2 β ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ count, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΆΠ΄ΡΠ΅ 50 Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΏΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Yahoo Finance. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π»ΠΈΠ½Ρ ΡΠΈΠΊΠ΅ΡΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΠΊΠ΅ΡΡ =[‘AAPL’,’MSFT’,GILD], ΡΠΎ len(ΡΠΈΠΊΠ΅ΡΡ) ΡΠ°Π²Π½ΠΎ 3, Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½(len(ΡΠΈΠΊΠ΅ΡΡ)) = Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½(3), ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0,1,2 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ i. ΠΠ½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° for ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΠΈΠΌΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° (tickers[i]) Π² ΡΠ°ΠΉΠ» csv. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π»ΠΎΠΆΠΈΡΡ ΡΠΈΠΊΠ» for Π΄Π»Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)). ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π·Π°ΠΏΡΠΎΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΈΠΌ Π΅Π΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ content. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ (ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅) Π² CSV-ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΠΈΡΠΆΠ΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° (ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ for).
ΠΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ d2 ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ½Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° for ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΠΌ d1 ΡΠΈΠΊΠ΅ΡΠ° (d1[ticker]) ΡΠ°Π²Π½ΡΠΌ d2. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΡΠ΅ΠΌΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: dict = {‘AAPL’:{‘pe’:’13.98″, «ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°»: «1,49», «eps»: 8,31}, «GILD»: {‘pe’: «6,86», «ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°»: «-9,39», «eps»: 10,81}}. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ dict[‘AAPL’][‘peg’] ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Β«1.49Β». ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌ, Π²ΡΠ·Π²Π°Π² float(dict[‘AAPL’][‘peg’]). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ d2 Π² ΠΏΡΡΡΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² Π½Π°Ρ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ Ρ Π½Π°Ρ Π±ΡΠ» ΠΏΡΠΎΠ±Π΅Π» ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ°Ρ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ count ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠ΄Π΅Π»Π°Π»ΠΈ Π»ΠΈ ΠΌΡ Π±ΠΎΠ»Π΅Π΅ 50 Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΠ»ΠΈ count% 50 == 0. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΏΠΈΠΌ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 10 ΡΠ΅ΠΊΡΠ½Π΄. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π½Π°Ρ ΡΠ°ΠΉΠ» ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π½Π°Ρ ΡΠ»ΠΎΠ²Π°ΡΡ d1, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ°. ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΠ°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΉ Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π»Ρ AAPL, GILD ΠΈ MSFT. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
Π΅ΡΠ»ΠΈ __name__ == '__main__':
ΡΠΈΠΊΠ΅ΡΡ = ['AAPL','GILD','MSFT']
metrics = ['pe','peg','average_daily_volume','eps']
f = ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ_ΡΠΊΡΠ΅Π±ΠΎΠΊ (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ)
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f['AAPL']['ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°']
ΠΠ°Ρ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
{'GILD': {'average_daily_volume': u'9588860', 'peg': u'-9.
39', 'eps': u'10.81', 'pe': u' 7.06'}, 'AAPL': {'average_daily_volume': u'32163100', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'1.48', 'eps': u'8.31', 'pe': u'13.96'}, 'MSFT': {'average_daily_volume': u'27784900', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'2,33', 'eps': u'2,09', 'pe': u'29,84'}}
1,48
ΠΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ AAPL ΡΠ΅ΡΠ΅Π· f[‘AAPL’][‘peg’], ΡΡΠΎ Π΄Π°Π΅Ρ Π½Π°ΠΌ 1,48.
ΠΡ ΡΠΌΠΎΡΡΠΈΠΌ Π² Π½Π°Ρ ΡΠ°ΠΉΠ» folk_metrics.txt ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠΠΠ ΡΠ΅: 13,96 ΠΊΠΎΠ»ΡΡΠ΅ΠΊ: 1,48 ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 32163100 ΡΠΏ.: 8,31 ΠΠΠΠΠΠΠ§ΠΠ’Π¬ ΡΠ΅: 7.06 ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: -9,39 ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 9588860 ΡΠΏ.: 10,81 ΠΠ‘Π€Π’ ΡΠ΅: 29,84 ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: 2,33 ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 27784900 ΡΠΏ.: 2.09
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΈΠ· urllib2 import Request,urlopen
Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ°
def fundal_scraper (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ):
d = {'ΡΡΠ°Π²ΠΊΠ°':'b','Π·Π°ΠΊΡΡΡΡ':'p','ΠΎΡΠΊΡΡΡΡ':'o','dividend_yield':'y','dollar_change':'c1','percent_change':'p2' ,
'days_low':'g','days_high':'h','1_year_target_price':'t8','200_day_ma_dollar_change':'m5',
'200_day_ma_percent_change':'m6','50_day_ma_dollar_change':'m7','50_day_ma_percent_change':'m8',
'200_day_ma':'m4','50_day_ma':'m3','Π΄ΠΎΡ
ΠΎΠ΄':'s6','52_week_high':'k','52_week_low':'j','52_week_range':'w',
'market_cap':'j1','float_shares':'f6','name':'n','symbol':'s','exchange':'x','shares_outstanding':'j2',
'volume': 'v','ask_size':'a5','bid_size':'b6','last_trade_size':'k3','average_daily_volume':'a2','eps':'e',
'current_eps_estimate':'e7','next_year_eps_estimate':'e8','next_quarter_eps_estimate':'e9','book_value':'b4',
'ebitda':'j4','price_to_sales':'p5','price_to_book':'p6','pe':'r','ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°':'r5','short_ratio':'s7'}
Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ == 'Π²ΡΠ΅':
vals = d.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
Π΅ΡΠ»ΠΈ __name__ == '__main__':
ΡΠΈΠΊΠ΅ΡΡ = ['AAPL','GILD','MSFT']
ΠΌΠ΅ΡΡΠΈΠΊΠ° = 'Π²ΡΠ΅'
f = ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ_ΡΠΊΡΠ΅Π±ΠΎΠΊ (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ)
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f
print f['GILD']['revenue']
ΠΠ°Ρ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
{'GILD': {'revenue': u'31,58B', 'average_daily_volume': u'9588860', 'eps': u'10,81', 'dollar_change': u' +2,22', '200_day_ma_percent_change': u'-2,13%', '200_day_ma': u'78,04', 'Π·Π°ΠΊΡΡΡΠΈΠ΅': u'74,16', 'dividend_yield': u'2,63', 'price_to_sales': u'3,09' , 'open': 74,53 u', 'ebitda': 20,38 u', 'price_to_book': 5,81 u', '52_week_range': 70,83 - 103,10 u', 'float_shares': 1308378000' , '52_week_high': u'103,10', '50_day_ma': u'73,97', 'pe': u'7,06', 'ask_size': u'200', '50_day_ma_dollar_change': u'2,41', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': Ρ'-9.
39', '1_year_target_price': u'95.19', 'symbol': u'"GILD"', 'book_value': u'12.76', 'market_cap': u'100.63B', 'percent_change': u'" +2,99%"", "ΠΎΠ±ΠΌΠ΅Π½": u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u'76,36', 'ΠΎΠ±ΡΠ΅ΠΌ': u'14914161', 'current_eps_estimate': u'11,47', 'days_high': u' 76,98 ', '200_day_ma_dollar_change': u'-1,66', 'shares_outstanding': u'1317456000', '50_day_ma_percent_change': u'+3,26%', 'name': u'"Gilead Sciences, Inc.", 'next_quarter_eps_estimate ': u'2,60', 'short_ratio': u'1,65', 'days_low': u'74,38', '52_week_low': u'70,83', 'next_year_eps_estimate': u'10,78', 'bid_size': u'1800 ', 'last_trade_size': u'943417 '}, 'AAPL': {'revenue': u'215,64B', 'average_daily_volume': u'32163100', 'eps': u'8,31', 'dollar_change': u'-0,13', '200_day_ma_percent_change' : u'+6,71%', '200_day_ma': u'108,72', 'Π·Π°ΠΊΡΡΡΠΈΠ΅': u'116,15', 'Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄Π½Π°Ρ_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ': u'1,97', 'price_to_sales': u'2,87', 'ΠΎΡΠΊΡΡΡΠΎ': u' 115,85 ', 'EBITDA': 70,53 ΠΌΠ»ΡΠ΄ Π΄ΠΎΠ»., 'price_to_book': 4,83 Π΄ΠΎΠ»., '52_week_range': 89,47 - 118,69 u', 'float_shares': 5313329000', '52_week_high': u' 118,69 ', '50_day_ma': u'113,43', 'pe': u'13,96', 'ask_size': u'9600', '50_day_ma_dollar_change': u'2,59', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'1,48', '1_year_target_price': u'132,14', 'ΡΠΈΠΌΠ²ΠΎΠ»': u'"AAPL"', 'Π±Π°Π»Π°Π½ΡΠΎΠ²Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ': u'24,03', 'ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ': u'618,65B', 'percent_change': u'"-0,11%"', 'ΠΎΠ±ΠΌΠ΅Π½': u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u'115,97', 'ΠΎΠ±ΡΠ΅ΠΌ': u'21118116', 'current_eps_estimate': u'9.
01' , 'days_high': u'116,51', '200_day_ma_dollar_change': u'7,30', 'shares_outstanding': u'5332312000', '50_day_ma_percent_change': u'+2,28%', 'name': u'"Apple Inc." ', 'next_quarter_eps_estimate': u'2,13', 'short_ratio': u'1,45', 'days_low': u'115,75', '52_week_low': u'89.47", 'next_year_eps_estimate': u'10,08', 'bid_size': u'100', 'last_trade_size': u'1804596'}, 'MSFT': {'Π΄ΠΎΡ
ΠΎΠ΄': u'85,39B', 'average_daily_volume' : u'27784900', 'eps': u'2.09', 'dollar_change': u'-0.28', '200_day_ma_percent_change': u'+7.73%', '200_day_ma': u'57.83', 'close': u '62,58', 'Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄Π½Π°Ρ_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ': u'2,51', 'price_to_sales': u'5,70', 'open': u'62,48', 'ebitda': u'26,96B', 'price_to_book': u'6,92', '52_week_range': u'"48.03 - 64.10"', 'float_shares': u'7588275000', '52_week_high': u'64.10', '50_day_ma': u'61.66', 'pe': u'29.84", "ask_size": 600 u, "50_day_ma_dollar_change": 0,64 u, "ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°": 2,33 u, 1_year_target_price: 65,36 u, 'ΡΠΈΠΌΠ²ΠΎΠ»': u'"MSFT"' , 'Π±Π°Π»Π°Π½ΡΠΎΠ²Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ': u'9,04', 'ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ': u'484,40B', 'percent_change': u'"-0,45%"', 'Π±ΠΈΡΠΆΠ°': u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u' 62.
25", "ΠΎΠ±ΡΠ΅ΠΌ": u'21339969', 'current_eps_estimate': u'2.98', 'days_high': u'62.75', '200_day_ma_dollar_change': u'4.47', 'shares_outstanding': u'7775350000', '50_day_ma_percentchange ': u'+1,03%', 'ΠΈΠΌΡ': u'"Microsoft Corporation"', 'next_quarter_eps_estimate': u'0,72', 'short_ratio': u'2,02', 'days_low': u'62,12', '52_week_low ': u'48,03', 'next_year_eps_estimate': u'3,26', 'bid_size': u'100', 'last_trade_size': u'2685688'}}
31,58 Π
ΠΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ_metrics.txt Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
AAPL ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: 618,65 ΠΌΠ»ΡΠ΄. ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: "-0,11%" Π΄ΠΎΡ ΠΎΠ΄: 215,64 ΠΌΠ»ΡΠ΄. ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 32163100 Π°ΡΠΊ_ΡΠ°Π·ΠΌΠ΅Ρ: 9600 ΡΡΠ°Π²ΠΊΠ°: 115,97 next_quarter_eps_estimate: 2,13 ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: 1,45 Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½: -0,13 current_eps_estimate: 9,01 200_day_ma_percent_change: +6,71% 200_day_ma: 108,72 Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡ: 1,97 Π·Π°ΠΊΡΡΡΡ: 116,15 ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ: 2,87 ΠΎΡΠΊΡΡΡΡΠΉ: 115.85 50_day_ma_dollar_change: 2,59 ΠΎΠ±ΠΌΠ΅Π½: "ΠΠΠ‘" ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠΉ_outstanding: 5332312000 ΠΎΠ±ΡΠ΅ΠΌ: 21118116 50_day_ma_percent_change: +2,28% ΠΊΠΎΠ»ΡΡΠ΅ΠΊ: 1,48 EBITDA: 70,53 ΠΌΠ»ΡΠ΄.Π½Π°Π·Π²Π°Π½ΠΈΠ΅: Β«Apple Inc.Β» ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 4,83 52_week_range: "89.47 - 118,69" float_shares: 5313329000 52_week_high: 118,69 50_day_ma: 113.43 ΡΠΏ.: 8,31 next_year_eps_estimate: 10.08 Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 115,75 52_week_low: 89,47 ΡΠ΅: 13,96 Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 116,51 200_day_ma_dollar_change: 7.30 ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 24.03 1_year_target_price: 132,14 ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠΠΠ" last_trade_size: 1804596 ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 100 ΠΠΠΠΠΠΠ§ΠΠ’Π¬ ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: 100,63 ΠΌΠ»ΡΠ΄. ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: "+2,99%" Π΄ΠΎΡ ΠΎΠ΄: 31,58 ΠΌΠ»ΡΠ΄. ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 9588860 Π°ΡΠΊ_ΡΠ°Π·ΠΌΠ΅Ρ: 200 ΡΡΠ°Π²ΠΊΠ°: 76,36 next_quarter_eps_estimate: 2,60 ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: 1,65 Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½: +2,22 current_eps_estimate: 11,47 200_day_ma_percent_change: -2,13% 200_day_ma: 78.04 Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡ: 2,63 Π·Π°ΠΊΡΡΡΡ: 74,16 ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ: 3,09ΠΎΡΠΊΡΡΡΡΠΉ: 74,53 50_day_ma_dollar_change: 2,41 ΠΎΠ±ΠΌΠ΅Π½: "ΠΠΠ‘" Π°ΠΊΡΠΈΠΈ_Π°ΡΡΡΡΠ°Π½ΡΠΈΠ½Π³: 1317456000 ΠΎΠ±ΡΠ΅ΠΌ: 14914161 50_day_ma_percent_change: +3,26% ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: -9,39 EBITDA: 20,38 ΠΌΠ»ΡΠ΄. Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "Gilead Sciences, Inc." ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 5,81 52_week_range: "70,83 - 103,10" float_shares: 1308378000 52_week_high: 103.
10 50_day_ma: 73.97 ΡΠΏ.: 10,81 next_year_eps_estimate: 10,78 Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 74,38 52_week_low: 70,83 ΡΠ΅: 7.06 Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 76,98 200_day_ma_dollar_change: -1,66 ΠΊΠ½ΠΈΠΆΠ½Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ: 12,76 1_year_target_price: 95,19 ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠΠΠΠ’Π" last_trade_size: 943417 ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 1800 ΠΠ‘Π€Π’ ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: 484,40 ΠΌΠ»ΡΠ΄. ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: "-0,45%" Π΄ΠΎΡ ΠΎΠ΄: 85,39 ΠΌΠ»ΡΠ΄. ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 27784900 Π°ΡΠΊ_ΡΠ°Π·ΠΌΠ΅Ρ: 600 ΡΡΠ°Π²ΠΊΠ°: 62,25 next_quarter_eps_estimate: 0,72 ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: 2,02 Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½: -0,28 current_eps_estimate: 2,98 200_day_ma_percent_change: +7,73% 200_day_ma: 57,83 Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡ: 2,51 Π·Π°ΠΊΡΡΡΡ: 62,58 ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ: 5,70 ΠΎΡΠΊΡΡΡΡΠΉ: 62,48 50_day_ma_dollar_change: 0,64 ΠΎΠ±ΠΌΠ΅Π½: "ΠΠΠ‘" Π°ΠΊΡΠΈΠΈ_Π²ΡΠ΄Π°ΡΡΠΈΡ ΡΡ: 7775350000 ΠΎΠ±ΡΠ΅ΠΌ: 21339969 50_day_ma_percent_change: +1,03% ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: 2,33 EBITDA: 26,96Π Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ" ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 6,92 52_week_range: "48.03 - 64.10" float_shares: 7588275000 52_week_high: 64,10 50_day_ma: 61.66 ΡΠΏ.: 2.09 next_year_eps_estimate: 3,26 Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 62,12 52_week_low: 48.
03 ΡΠ΅: 29,84 Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 62,75 200_day_ma_dollar_change: 4,47 ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 9,04 1_year_target_price: 65,36 ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠ‘Π€Π’" last_trade_size: 2685688 ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 100
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ (scrape_fundamental_data.py) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π°.
Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
ΠΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ
Π°ΠΊΡΠΈΠ²ΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π΅ΠΎ, Π°ΡΠ΄ΠΈΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ PDF-ΡΠ°ΠΉΠ»Ρ, Π±ΡΠΎΡΠΈΠ»Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΠΎΠ± Π°Π²ΡΠΎΡΡΠΊΠΎΠΌ ΠΏΡΠ°Π²Π΅. ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΡΠ΅ΠΌΠΈΡΠΌ-ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠΌΠ΅ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΈΡ
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅. ΠΡΠΎΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠ΅ΠΌΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠ·Π΄Π°Π΅ΡΡΡ. ΠΡΡΡΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅ΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ Π·Π°ΡΠΈΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ
Π°ΠΊΡΠΈΠ²ΠΎΠ². ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΡΠΊ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π°ΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
ΠΠΈΠΊΡΠΎ Π½Π΅ Ρ
ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² Π½Π΅Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠΈ. ΠΠΈΡΡΡΠΈΠ±ΡΡΡΠΎΡΡ ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΡΡΠ΄Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π·Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ DRM (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ). ΠΡΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ, Π½Π°Π½ΠΎΡΡΡ Π²ΠΎΠ΄ΡΠ½ΡΠ΅ Π·Π½Π°ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠΈΡΡΠΎΠ²ΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ. ΠΠ°ΠΆΠ΅ Netflix ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ OTT-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ DRM ΡΠ΅ΡΠ΅Π· Widevine CDM Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ :
- ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ Π²ΠΈΠ΄Π΅ΠΎ DRM, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DRM
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- ΠΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ°ΠΊ Encrypted Media Extensions & CDM ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π»ΡΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ
- Widevine CDM ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΠΈΡΡ DRM Widevine
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ Π²ΠΈΠ΄Π΅ΠΎ DRM, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π±ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ OTT-Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΉ ΠΏΡΠ΅ΠΌΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡ
ΠΎΠ΄Π°. Π‘ ΡΠΎΡΡΠΎΠΌ ΠΏΠΈΡΠ°ΡΡΡΠ²Π° ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, Π½Π΅ ΡΡΠ°ΡΡ Π½ΠΈ ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Ρ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². ΠΠ΄Π΅ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ Π²ΠΈΠ΄Π΅ΠΎ.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΆΠΈΠ²ΡΠΌ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΠΈΠ΄Π΅ΠΎ,
- HLS-E β HLS Ρ AES-128
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ AES-128
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ DRM (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΏΡΡΠΌΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΉ,
- Π‘ΡΠ°Π½Π΄Π°ΡΡ HTML5 DRM
- RTMFP ΠΈ RTMP(E)
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DRM
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΡΠΈΡΠΎΠΉ DRM, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ·Π½Π°ΡΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠΈΠΏΠ°Ρ
ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² DRM/CDM.
ΠΡΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π³ΠΈΠ³Π°Π½ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Google ΠΈ Apple, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Google ΠΈ Apple ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²ΠΈΠ΄Π΅ΠΎ.
Π’ΠΈΠΏΡ CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DRM:
- Google Widevine ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Chrome, Firefox, Opera
- Apple FairPlay Π΄Π»Ρ Safari Π² Mac OS
- Adobe Primetime CDM
- Microsoft PlayReady ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Edge ΠΈ IE11
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π²Π°ΡΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΠΈΠ³Π°Π½ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ API, Π° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ DRM ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ CDM ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Netflix, ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΡΠΏΠΏΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΡΡ
DRM.
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ Π·Π°ΡΠΈΡΡ DRM, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ Π±ΠΈΡΡΠ΅ΠΉΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ CDN.
Π₯ΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ Π·Π΄Π΅ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΅Π½Π΄Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Vdocipher, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΈΠ΄Π΅ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Google Widevine ΠΈΠ»ΠΈ Apple Fairplay. ΠΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ Amazon AWS Server Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ CDN, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Ρ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΌ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Google Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°?
Widevine, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ°Ρ Google, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ DRM Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ. ΠΡΠ΄ΡΡΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ, Widevine ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠ΅ΠΌΠΈΡΠΌ-ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅. ΠΠΌΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ 800 ΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Ρ 5 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ², Widevine ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΠΌ OTT-ΡΠ΅ΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Netflix, HBO, Prime Videos, Hulu ΠΈ Π΄ΡΡΠ³ΠΈΡ
.
Widevine ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Ρ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΈΡΠ°ΡΡΡΠ²Π° ΠΈ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΠΌΠ΅Π½ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Android ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Π½Π° Π±Π°Π·Π΅ Ρ
ΡΠΎΠΌΠ°. ΠΠ»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° Ρ Π·Π°ΡΠΈΡΠΎΠΉ DRM ΠΈ Π²ΠΈΠ΄Π΅ΠΎ HTML5 Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ Widevine.
ΠΠ°ΠΊ Widevine CDM ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ?
Widevine CDM ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ Widevine DRM. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠ°ΠΉΠ» CDM, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ Widevine. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΡΠΎΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, CDM Widevine ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ°ΡΠ΅ΠΌ CDM ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ Widevine.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΊΠ»ΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠ°ΡΠ΅ΠΌ CDM ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ ΠΊΠ»ΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΡ Widevine ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ CDM Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ².
| Π Π½Π°Π»ΠΈΡΠΈΠΈ ΠΠ°ΡΠ° | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΠ°ΡΠ° | Π₯ΡΠΎΠΌ ΠΠ΅ΡΡΠΈΡ | Win | Mac | ΠΠΈΠ½ΡΠΊΡ | Π₯ΡΠΎΠΌΠΠ‘ |
| 9 ΠΌΠ°ΡΡΠ° 2021 (ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Chrome 89) | Π½/Π΄ | 89 (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π₯ΡΠΎΠΌ M69 +) | 10.2209.0\nor later"}»> 4.10.2209.0 | 4.10.2198.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅ | 4.10.2209.0+ | 4.10.2252.0 + (Chrome 90 ΠΈΠ»ΠΈ Π²ΡΡΠ΅) |
| Π½/Π΄ | 31 ΠΌΠ°Ρ 2021 Π³. | ΠΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄ΠΎ 4.10.2209.0 | 0"}»> ΠΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ | ΠΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄ΠΎ 4.10.2209.0 | ΠΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄ΠΎ 4.10.2252.0 |
ΠΠ°ΠΊ Encrypted Media Extensions & CDM ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°ΠΈΠ»ΡΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
Encrypted Media Extensions ΠΎΡ W3C (ΠΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ World Wide Web) ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ API Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π·Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, EME ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π»ΡΠ±ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ API ΠΈ Common Encryption.
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, EME ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTMLMediaElement. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠ½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ EME, ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ (CDM), ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ (ΠΊΠ»ΡΡΠ΅ΠΉ) ΠΈ ΡΠ»ΡΠΆΠ±Π° ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. EME ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π΅Π³ΠΎ ΡΠ°ΡΡΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ ΡΡΠ»ΡΠ³, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Netflix, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π»ΠΈΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² ΡΠ²ΠΎΠΈΡ
Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
.
ΠΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: w3 org
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ EME ΠΈ CDM
- ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Netflix, ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π°ΡΠ΄ΠΈΠΎ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ.
- Π’Π΅ΠΏΠ΅ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ, ΡΡΠΎ Π½ΠΎΡΠΈΡΠ΅Π»Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½ (ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ ISO BMFF ΠΈΠ»ΠΈ WebM). ΠΠΎΡΡΠΎΠΌΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ (initData), ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Ρ Π½ΠΎΡΠΈΡΠ΅Π»Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅.
- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅.

- ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ MediaKeys Π½Π΅ Π±ΡΠ» ΡΠ²ΡΠ·Π°Π½ Ρ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ»ΡΡΠ΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ navigator.requestMediaKeySystemAccess(). ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ MediaKeys Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ MediaKeySystemAccess.
- ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° MediaKeys ΡΡΠ½ΠΊΡΠΈΡ setMediaKeys() ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ MediaKeys Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ HTMLMediaElement, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ createSession() Π΄Π»Ρ MediaKeys, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ MediaKeySession, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΠΈ Π΅Π΅ ΠΊΠ»ΡΡΠ°.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅, Π² CDM Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° generateRequest() Π΄Π»Ρ MediaKeySession.
- CDM Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ MediaKeySession ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.

- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅, Π² CDM Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ. ΠΠ°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ update() ΠΎΠ±ΡΠ΅ΠΊΡΠ° MediaKeySession, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² CDM.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ, CDM ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ Π½ΠΎΡΠΈΡΠ΅Π»Ρ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° Π² MediaKeys, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Ρ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ. ΠΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠ°, CDM ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ»ΡΡΡ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅.
- Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°.
ΠΡΠΈΠ±ΠΊΠΈ Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
ΠΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.
Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Chrome ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Chromium
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Β«ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Chrome Widevine CDMΒ» ΠΈΠ·-Π·Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ CDM.
ΠΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Chrome Π²Π²Π΅Π΄ΠΈΡΠ΅ Β«chrome://components/Β».
- Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉΒ».
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΡΡ Β«ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎΒ».
- ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π²ΠΈΠ΄Π΅ΠΎ.
Widevine CDM Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Chrome Π΄Π»Ρ Widevine CDM
ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ±ΠΎΠ΅ Widevine CDM ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΠΎΠ»Π½ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Windows + R, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ».
- Π Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» Π²Π²Π΅Π΄ΠΈΡΠ΅ Β«%userprofile%/appdata/localΒ». ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π² AppData -> ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° ΠΠ.
- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Google > Chrome > ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ WidevineCdm ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ.
- ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΒ» ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π΅ΡΡΡ Π»ΠΈ Ρ Π²Ρ
ΠΎΠ΄Π° ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ.

- Π‘Π½ΠΈΠΌΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ f ΠΠ°ΠΏΡΠ΅ΡΠΈΡΡ.
- ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΠ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
- ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ CDM ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Widevine CDM ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ
- ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΏΡΡΠΊΡ, Π½Π°ΠΆΠ°Π² Windows + R
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠ°Π³ΠΈ (1-3). Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Β«WidevineCdmΒ» ΠΈ Β«Π£Π΄Π°Π»ΠΈΡΡΒ».
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Β«ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π·Π°Π΄Π°ΡΒ» ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ°ΠΏΡΡΠΊ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°Β».
- ΠΠ°Π²Π΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Chrome, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Chrome, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ°Π²Π΅ΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡΒ».
- Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine)
- ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Widevine CDM, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΠ² Π°Π½ΡΠΈΠ²ΠΈΡΡΡ ΠΈ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡ
ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΎΠ΅ ΠΈ Π·Π°ΡΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ McAfee, Norton ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ, Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Widevine CDM ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π°Π½ΡΠΈΠ²ΠΈΡΡΡ, ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ
ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΡΠΈΠ±ΠΊΠ° Mozilla Firefox
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Firefox ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ Π³Π°ΠΌΠ±ΡΡΠ³Π΅ΡΠ° Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΒ» ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Β«ΠΠ»Π°Π³ΠΈΠ½ΡΒ». ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Β«ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Google Inc.Β», Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
- Π ΡΡΠ΅Ρ ΡΠΎΡΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠ΅Π³Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡΒ».
- ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π±ΡΠ°ΡΠ·Π΅Ρ.
- ΠΡΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠΎΠΊ Π³Π°ΠΌΠ±ΡΡΠ³Π΅ΡΠ° Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ Firefox ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ».
- Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ±ΡΠΈΠ΅Β» ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ Β«ΠΠΎΠ½ΡΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈΒ».
- ΠΡΠΌΠ΅ΡΡΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ Firefox ΠΌΠΎΠ³ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Widevine CDM.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Widevine CDM Π² Mac OS
- Π£Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΡ Β«OptionΒ», Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠ΅ΡΠ΅ΠΉΡΠΈΒ». ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Β».

- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ» > Β«GoogleΒ» > Β«ChromeΒ».
- Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ WidevineCDM.
- ΠΠ²Π΅Π΄ΠΈΡΠ΅ Β«chrome://componentsΒ» Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Chrome.
- Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«WidevineCdmΒ» Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉΒ». ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
Widevine CDM ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΡΠΈΠ±ΠΊΠ° Netflix M7701-1003
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Netflix Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ M7701-1003 Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΌΠ΅Ρ ΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Β«ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° WidevineΒ» Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. ΠΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π°Π½ΡΠΈΠ²ΠΈΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Widevine ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ Β«WidevineCdmΒ» ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΡΠΈΠ±ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Widevine CDM Π² Ubuntu
Π Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ , ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ubuntu, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Widevine. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
- $ sudo apt ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ mlocate
- $ Π½Π°ΠΉΡΠΈ libwidevinecdm.so
ΠΡΠ»ΠΈ Π² Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π΅ΡΡΡ Β«libwidevinecdm.
soΒ», ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Widevine.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΡΠΌΠ°ΡΠ° Π² Ubuntu ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ.
- $ sudo apt install ubuntu-restricted-extras
Widevine CDM Amazon Prime Video Error 7235
ΠΡΠΈΠ±ΠΊΠ° Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Playstore ΠΈΠ»ΠΈ App Store. Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ Chrome Π΄Π»Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ². ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» > Β«Π ChromeΒ».
- ΠΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
- Π’Π΅ΠΏΠ΅ΡΡ Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Chrome Π²Π²Π΅Π΄ΠΈΡΠ΅ chrome://components Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉΒ» Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
VdoCipher β ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ Π·Π°ΡΠΈΡΡ Widevine DRM
ΠΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ Π·Π°ΡΠΈΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Widevine DRM, ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π²Π°ΡΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°ΠΈΠ»ΡΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π·Π°ΡΠΈΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ, Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ Π·Π°ΡΠΈΡΡ Widevine DRM Π΄Π»Ρ Π²Π°ΡΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΡΠ΅Π½Π΄ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Vdocipher , Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΡΠΆΠ΅Π»ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ DRM Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π²Π°Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π· API Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Google Widevine ΠΈ Apple Fairplay. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ Amazon AWS Server Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ CDN, Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΌ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ².
Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine?
ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Widevine ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ DRM, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π·Π°ΡΡΠ°ΡΡ Π½Π° Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅?
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΡΠ΅ΠΌΠΈΡΠΌ-ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΊΠΎΠ² ΡΠΈΡΠΊ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π°ΡΠ΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΊΠ΅?
ΠΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠ΅ΠΌΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠ·Π΄Π°Π΅ΡΡΡ.
ΠΠ°ΠΊΠ°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΠΈΡΠ°ΡΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌΠΈ Π°ΠΊΡΠΈΠ²ΠΎΠ²?
DRM ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· VdoCipher.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ DRM Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡΡΠ²Π° ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
VdoCipher ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ ΠΈΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΈ ΠΏΠ»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. VdoCipher ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΡ ΡΠ²ΠΎΠΈΡ
Π΄ΠΎΡ
ΠΎΠ΄ΠΎΠ² ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΈΡΠ°ΡΡΡΠ²Π°. Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΠΎΠ»Π»ΠΈΠ²ΡΠ΄ΠΎΠΌ DRM-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ), Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°Ρ
Π²Π°ΡΠ° ΡΠΊΡΠ°Π½Π°, Π²ΠΎΠ΄ΡΠ½ΡΡ
Π·Π½Π°ΠΊΠΎΠ² ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ Π½Π΅Π»Π΅Π³Π°Π»ΡΠ½ΠΎ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠΎΠ»ΡΡΠ½Π°Ρ Π΄ 31Π, ΡΡΡ 16Β Β
ΠΠΈΡΠΈΡΠ΅Β Β 
4
ΠΠΎΡΡΠ°Π²ΠΊΠ°, ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π² Π»ΡΠ±ΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Ρ.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
Π΅ΡΠ»ΠΈ __name__ == '__main__':
ΡΠΈΠΊΠ΅ΡΡ = ['AAPL','GILD','MSFT']
metrics = ['pe','peg','average_daily_volume','eps']
f = ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ_ΡΠΊΡΠ΅Π±ΠΎΠΊ (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ)
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f['AAPL']['ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°']
39', 'eps': u'10.81', 'pe': u' 7.06'}, 'AAPL': {'average_daily_volume': u'32163100', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'1.48', 'eps': u'8.31', 'pe': u'13.96'}, 'MSFT': {'average_daily_volume': u'27784900', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'2,33', 'eps': u'2,09', 'pe': u'29,84'}}
1,48
Π·Π½Π°ΡΠ΅Π½ΠΈΡ()
ΠΌΠ΅ΡΡΠΈΠΊΠΈ = d.keys()
Π΅ΡΠ΅:
vals = [d[i] Π΄Π»Ρ i Π² ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
]
f1 = ΠΎΡΠΊΡΡΡΡ('fundamental_metrics.txt','w')
Π΄1 = {}
Π΄2 = {}
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = 1
Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΡΠΈΠΊΠ΅ΡΡ)):
f1.write(ΡΠΈΠΊΠ΅ΡΡ[i]+'\n')
Π΄Π»Ρ j Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ΅ΡΡΠΈΠΊΠΈ)):
req_link = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (ΡΠΈΠΊΠ΅ΡΡ [i], Π·Π½Π°ΡΠ΅Π½ΠΈΡ [j])
req = ΠΠ°ΠΏΡΠΎΡ (req_link)
resp = urlopen(req)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.read().decode().strip()
f1.write(ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]+': '+str(content)+'\n')
d2[ΠΌΠ΅ΡΡΠΈΠΊΠΈ[j]] = ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
d1[ΡΠΈΠΊΠ΅ΡΡ[i]] = d2
Π΄2 = {}
f1.write('\n')
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ + 1
Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ %50 == 0:
Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(10)
f1.Π·Π°ΠΊΡΡΡΡ()
Π²ΠΎΠ·Π²ΡΠ°Ρ d1
Π΅ΡΠ»ΠΈ __name__ == '__main__':
ΡΠΈΠΊΠ΅ΡΡ = ['AAPL','GILD','MSFT']
ΠΌΠ΅ΡΡΠΈΠΊΠ° = 'Π²ΡΠ΅'
f = ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ_ΡΠΊΡΠ΅Π±ΠΎΠΊ (ΡΠΈΠΊΠ΅ΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ)
Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ f
print f['GILD']['revenue']
39', '1_year_target_price': u'95.19', 'symbol': u'"GILD"', 'book_value': u'12.76', 'market_cap': u'100.63B', 'percent_change': u'" +2,99%"", "ΠΎΠ±ΠΌΠ΅Π½": u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u'76,36', 'ΠΎΠ±ΡΠ΅ΠΌ': u'14914161', 'current_eps_estimate': u'11,47', 'days_high': u' 76,98 ', '200_day_ma_dollar_change': u'-1,66', 'shares_outstanding': u'1317456000', '50_day_ma_percent_change': u'+3,26%', 'name': u'"Gilead Sciences, Inc.", 'next_quarter_eps_estimate ': u'2,60', 'short_ratio': u'1,65', 'days_low': u'74,38', '52_week_low': u'70,83', 'next_year_eps_estimate': u'10,78', 'bid_size': u'1800 ', 'last_trade_size': u'943417 '}, 'AAPL': {'revenue': u'215,64B', 'average_daily_volume': u'32163100', 'eps': u'8,31', 'dollar_change': u'-0,13', '200_day_ma_percent_change' : u'+6,71%', '200_day_ma': u'108,72', 'Π·Π°ΠΊΡΡΡΠΈΠ΅': u'116,15', 'Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄Π½Π°Ρ_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ': u'1,97', 'price_to_sales': u'2,87', 'ΠΎΡΠΊΡΡΡΠΎ': u' 115,85 ', 'EBITDA': 70,53 ΠΌΠ»ΡΠ΄ Π΄ΠΎΠ»., 'price_to_book': 4,83 Π΄ΠΎΠ»., '52_week_range': 89,47 - 118,69 u', 'float_shares': 5313329000', '52_week_high': u' 118,69 ', '50_day_ma': u'113,43', 'pe': u'13,96', 'ask_size': u'9600', '50_day_ma_dollar_change': u'2,59', 'ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°': u'1,48', '1_year_target_price': u'132,14', 'ΡΠΈΠΌΠ²ΠΎΠ»': u'"AAPL"', 'Π±Π°Π»Π°Π½ΡΠΎΠ²Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ': u'24,03', 'ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ': u'618,65B', 'percent_change': u'"-0,11%"', 'ΠΎΠ±ΠΌΠ΅Π½': u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u'115,97', 'ΠΎΠ±ΡΠ΅ΠΌ': u'21118116', 'current_eps_estimate': u'9.
01' , 'days_high': u'116,51', '200_day_ma_dollar_change': u'7,30', 'shares_outstanding': u'5332312000', '50_day_ma_percent_change': u'+2,28%', 'name': u'"Apple Inc." ', 'next_quarter_eps_estimate': u'2,13', 'short_ratio': u'1,45', 'days_low': u'115,75', '52_week_low': u'89.47", 'next_year_eps_estimate': u'10,08', 'bid_size': u'100', 'last_trade_size': u'1804596'}, 'MSFT': {'Π΄ΠΎΡ
ΠΎΠ΄': u'85,39B', 'average_daily_volume' : u'27784900', 'eps': u'2.09', 'dollar_change': u'-0.28', '200_day_ma_percent_change': u'+7.73%', '200_day_ma': u'57.83', 'close': u '62,58', 'Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄Π½Π°Ρ_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ': u'2,51', 'price_to_sales': u'5,70', 'open': u'62,48', 'ebitda': u'26,96B', 'price_to_book': u'6,92', '52_week_range': u'"48.03 - 64.10"', 'float_shares': u'7588275000', '52_week_high': u'64.10', '50_day_ma': u'61.66', 'pe': u'29.84", "ask_size": 600 u, "50_day_ma_dollar_change": 0,64 u, "ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°": 2,33 u, 1_year_target_price: 65,36 u, 'ΡΠΈΠΌΠ²ΠΎΠ»': u'"MSFT"' , 'Π±Π°Π»Π°Π½ΡΠΎΠ²Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ': u'9,04', 'ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ': u'484,40B', 'percent_change': u'"-0,45%"', 'Π±ΠΈΡΠΆΠ°': u'"NMS"', 'ΡΡΠ°Π²ΠΊΠ°': u' 62.
25", "ΠΎΠ±ΡΠ΅ΠΌ": u'21339969', 'current_eps_estimate': u'2.98', 'days_high': u'62.75', '200_day_ma_dollar_change': u'4.47', 'shares_outstanding': u'7775350000', '50_day_ma_percentchange ': u'+1,03%', 'ΠΈΠΌΡ': u'"Microsoft Corporation"', 'next_quarter_eps_estimate': u'0,72', 'short_ratio': u'2,02', 'days_low': u'62,12', '52_week_low ': u'48,03', 'next_year_eps_estimate': u'3,26', 'bid_size': u'100', 'last_trade_size': u'2685688'}}
31,58 Π
Π½Π°Π·Π²Π°Π½ΠΈΠ΅: Β«Apple Inc.Β»
ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 4,83
52_week_range: "89.47 - 118,69"
float_shares: 5313329000
52_week_high: 118,69
50_day_ma: 113.43
ΡΠΏ.: 8,31
next_year_eps_estimate: 10.08
Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 115,75
52_week_low: 89,47
ΡΠ΅: 13,96
Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 116,51
200_day_ma_dollar_change: 7.30
ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 24.03
1_year_target_price: 132,14
ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠΠΠ"
last_trade_size: 1804596
ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 100
ΠΠΠΠΠΠΠ§ΠΠ’Π¬
ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: 100,63 ΠΌΠ»ΡΠ΄.
ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: "+2,99%"
Π΄ΠΎΡ
ΠΎΠ΄: 31,58 ΠΌΠ»ΡΠ΄.
ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 9588860
Π°ΡΠΊ_ΡΠ°Π·ΠΌΠ΅Ρ: 200
ΡΡΠ°Π²ΠΊΠ°: 76,36
next_quarter_eps_estimate: 2,60
ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: 1,65
Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½: +2,22
current_eps_estimate: 11,47
200_day_ma_percent_change: -2,13%
200_day_ma: 78.04
Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ: 2,63
Π·Π°ΠΊΡΡΡΡ: 74,16
ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ: 3,09ΠΎΡΠΊΡΡΡΡΠΉ: 74,53
50_day_ma_dollar_change: 2,41
ΠΎΠ±ΠΌΠ΅Π½: "ΠΠΠ‘"
Π°ΠΊΡΠΈΠΈ_Π°ΡΡΡΡΠ°Π½ΡΠΈΠ½Π³: 1317456000
ΠΎΠ±ΡΠ΅ΠΌ: 14914161
50_day_ma_percent_change: +3,26%
ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: -9,39
EBITDA: 20,38 ΠΌΠ»ΡΠ΄.
Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "Gilead Sciences, Inc."
ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 5,81
52_week_range: "70,83 - 103,10"
float_shares: 1308378000
52_week_high: 103.
10
50_day_ma: 73.97
ΡΠΏ.: 10,81
next_year_eps_estimate: 10,78
Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 74,38
52_week_low: 70,83
ΡΠ΅: 7.06
Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 76,98
200_day_ma_dollar_change: -1,66
ΠΊΠ½ΠΈΠΆΠ½Π°Ρ_ΡΡΠΎΠΈΠΌΠΎΡΡΡ: 12,76
1_year_target_price: 95,19
ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠΠΠΠ’Π"
last_trade_size: 943417
ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 1800
ΠΠ‘Π€Π’
ΡΡΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: 484,40 ΠΌΠ»ΡΠ΄.
ΠΏΡΠΎΡΠ΅Π½Ρ_ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: "-0,45%"
Π΄ΠΎΡ
ΠΎΠ΄: 85,39 ΠΌΠ»ΡΠ΄.
ΡΡΠ΅Π΄Π½ΠΈΠΉ_Π΄Π½Π΅Π²Π½ΠΎΠΉ_ΠΎΠ±ΡΠ΅ΠΌ: 27784900
Π°ΡΠΊ_ΡΠ°Π·ΠΌΠ΅Ρ: 600
ΡΡΠ°Π²ΠΊΠ°: 62,25
next_quarter_eps_estimate: 0,72
ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅: 2,02
Π΄ΠΎΠ»Π»Π°Ρ_ΠΎΠ±ΠΌΠ΅Π½: -0,28
current_eps_estimate: 2,98
200_day_ma_percent_change: +7,73%
200_day_ma: 57,83
Π΄ΠΈΠ²ΠΈΠ΄Π΅Π½Π΄_Π΄ΠΎΡ
ΠΎΠ΄Π½ΠΎΡΡΡ: 2,51
Π·Π°ΠΊΡΡΡΡ: 62,58
ΡΠ΅Π½Π°_ΠΊ_ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ: 5,70
ΠΎΡΠΊΡΡΡΡΠΉ: 62,48
50_day_ma_dollar_change: 0,64
ΠΎΠ±ΠΌΠ΅Π½: "ΠΠΠ‘"
Π°ΠΊΡΠΈΠΈ_Π²ΡΠ΄Π°ΡΡΠΈΡ
ΡΡ: 7775350000
ΠΎΠ±ΡΠ΅ΠΌ: 21339969
50_day_ma_percent_change: +1,03%
ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°: 2,33
EBITDA: 26,96Π
Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ"
ΡΠ΅Π½Π°_Π²_ΠΊΠ½ΠΈΠ³Π΅: 6,92
52_week_range: "48.03 - 64.10"
float_shares: 7588275000
52_week_high: 64,10
50_day_ma: 61.66
ΡΠΏ.: 2.09
next_year_eps_estimate: 3,26
Π΄Π½Π΅ΠΉ_Π½ΠΈΠ·ΠΊΠΈΠΉ: 62,12
52_week_low: 48.
03
ΡΠ΅: 29,84
Π΄Π½Π΅ΠΉ_Π²ΡΡΠΎΠΊΠΈΠΉ: 62,75
200_day_ma_dollar_change: 4,47
ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 9,04
1_year_target_price: 65,36
ΡΠΈΠΌΠ²ΠΎΠ»: "ΠΠ‘Π€Π’"
last_trade_size: 2685688
ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π²ΠΊΠΈ: 100



