Мазмунга өтүү

Beautiful Soup менен веб-скрапинг

Сабактын башталышы

Beautiful Soup менен веб-скрапинг

Чыныгы веб-баракты таза Python маалыматына айландырыңыз

Негизги идея: көптөгөн сайттар пайдалуу маалыматты кадимки HTML катары көрсөтөт, бирок ага эч качан JSON-API сунуштабайт. Веб-скрапинг — ошол HTMLди жүктөп, андан керектүү бөлүктөрдү код менен чыгаруу практикасы. Сиз requests менен JSON алганды билесиз; бул жерде анын ордуна HTML аласыз жана аны Beautiful Soup китепканасына бересиз — ал чырмалышкан белгилөөнү издеп жана окуй турган даракка айландырат.
Аягында сиз муну кыла аласыз:
  • баракты requests менен жүктөп, андан soup куруу,
  • элементтерди find, find_all жана CSS-селекторлор менен табуу,
  • текстти жана href сыяктуу атрибуттарды чыгаруу,
  • көп саптуу таблицаны сөздүктөр тизмесине чогултуу,
  • жоопкерчилик менен скрапинг: robots.txt, жыштыкты чектөө жана чыныгы User-Agent.

1. Эки кадамдуу конвейер: жүктөө, анан талдоо

Скрапинг дайыма эки иш. Адегенде сиз чийки HTML текстин тармак аркылуу жүктөйсүз -> бул «requests менен веб-API чакыруу» темасындагы requests китепканасы. Андан кийин ошол текстти издөөгө боло турган түзүмгө талдайсыз -> бул Beautiful Soup. Бул эки кадамды башыңызда так бөлүп кармаңыз; алар башка себептерден бузулат.

Адегенде эки китепкананы виртуалдык чөйрөгө орнотуңуз:

python -m pip install requests beautifulsoup4

Ошондо эң кичине толук скрапер мындай көрүнөт:

import requests
from bs4 import BeautifulSoup

url = "https://example.com/books"
response = requests.get(url, timeout=10)
response.raise_for_status()          # stop on 404 / 500 errors

soup = BeautifulSoup(response.text, "html.parser")
print(soup.title.text)               # Book Store

response.raise_for_status() дегенге көңүл буруңуз: эгер сервер 404 же 500 деп жооп берсе, сиз азыр токтогуңуз келет, ката барагын парсерге бербей. timeout=10 берүү илинип калган сервер программаңызды түбөлүк тоңдуруп кое албайт дегенди билдирет.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө