CoderCastrov logo
CoderCastrov
ΠŸΠ°Ρ€ΡΠ΅Ρ€

🧠 Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ

🧠 Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ
просмотров
1 ΠΌΠΈΠ½ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅
#ΠŸΠ°Ρ€ΡΠ΅Ρ€
Image credits: Markus Spiske from Unsplash
  • ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Π΄Π°Π½Π½Ρ‹Ρ… - это процСсс ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ извлСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ создадим ΠΎΡ‡Π΅Π½ΡŒ простой парсСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ частоту слов Π² историях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python 3.

ВрСбования:

  • УстановитС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip: python3 -m pip install requests lxml
  • (По ТСланию) ΠŸΡ€ΠΎΠΊΡΠΈ / VPN для избСТания Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ IP.

ΠŸΠ°Ρ€ΡΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 2 частСй:

1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ историй с Π»Π°ΠΉΠΊΠ°ΠΌΠΈ

Для извлСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· содСрТимого ΠΎΡ‚Π²Π΅Ρ‚Π° (HTML) ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ XPath - это язык запросов для Π²Ρ‹Π±ΠΎΡ€Π° ΡƒΠ·Π»ΠΎΠ² ΠΈΠ· XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Подсказка: Π² Google Chrome Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ XPath ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Ρ‚Π΅Π³Π΅ > "ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" > "ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XPath".

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Ρ‚Π΅Π³ΠΈ a, содСрТащиС ссылки Π½Π° истории с Π»Π°ΠΉΠΊΠ°ΠΌΠΈ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ XPath (я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» XPath, сгСнСрированный Google Chrome, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Ρ‚Π΅Π³ΠΈ a, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½):

//*[[@id](http://twitter.com/id)=”root”]/div/section/div[2]/div[1]/div/div/div/a

Π­Ρ‚ΠΎΡ‚ XPath ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Π³ a, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ root, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт div, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт section ΠΈ Ρ‚. Π΄., ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ послСдний Ρ‚Π΅Π³ a.

Π”Π°Π²Π°ΠΉΡ‚Π΅ приступим ΠΊ написанию ΠΊΠΎΠ΄Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ всС ссылки Π½Π° истории Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ all_links πŸ’ͺ.

2. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ содСрТимого историй с Π»Π°ΠΉΠΊΠ°ΠΌΠΈ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ссылки:

Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ поэтапно ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ парсСр Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ мноТСство ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· истории, поэтому очистка Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° для получСния достовСрных Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Ρ‚Π°ΠΊ, шаги ΠΏΠΎ очисткС Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ΠΎΡ‚ ΠΊΠΎΠ΄:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ πŸ₯³

Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

ПозТС, имСя всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ смоТСм ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с использованиСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ СстСствСнного языка для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° слов.