Beautiful Soup менен веб-скрапинг
Чыныгы веб-баракты таза Python маалыматына айландырыңыз
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 берүү илинип калган сервер программаңызды түбөлүк тоңдуруп кое албайт дегенди билдирет.