Експерт за Semalt: Python и BeautifulSoup. Искористете ги страниците со леснотија

Кога изведувате проекти за анализа на податоци или машини за учење, можеби ќе треба да направите веб-страници за да ги добиете потребните податоци и да го завршите вашиот проект. Програмскиот јазик на Python има моќна колекција на алатки и модули што можат да се користат за оваа намена. На пример, можете да го користите модулот BeautifulSoup за анализирање на HTML.
Еве, ќе погледнеме во BeautifulSoup и ќе дознаеме зошто сега се користи толку широко користен во веб-стружење .
Карактеристики на BeautifulSoup
- Овозможува различни методи за лесна навигација, пребарување и модификација на парсираните дрвја, со што ќе можете лесно да дисецирате документ и да извлечете сè што ви треба, без да напишете премногу код.
- Автоматски ги конвертира појдовните документи во UTF-8 и дојдовните документи во Unicode. Ова значи дека нема да мора да се грижите за кодирање, под услов документот да одреди кодирање или Убава супа може да го автоодизира.
- BeautifulSoup се смета за супериорен во однос на другите популарни аналитичари на Python, како што се html5lib и lxml. Тоа овозможува да се испробаат различни стратегии за парсирање. Сепак, еден недостаток на овој модул е што обезбедува поголема флексибилност за сметка на брзината.
Што ви е потребно за да кренете веб-страница со BeautifulSoup?
За да започнете да работите со BeautifulSoup, треба да имате поставено околина за програмирање на Пајтон (локално или сервер-базирана) на вашата машина. Пајтон обично е претходно инсталиран во OS X, но ако користите Windows, треба да го преземете и инсталирате јазикот од официјалната веб-страница.

Треба да ги имате инсталирано модулите BeautifulSoup и Requests.
И на крај, да се биде запознаен и удобно работење со означување и структура на HTML е дефинитивно корисно, бидејќи ќе работите со податоци обезбедени од веб-страни.
Увезување барања и библиотеки на BeautifulSoup
Со добро поставување на околината за програмирање во Python, сега можете да креирате нова датотека (користејќи нано, на пример) со кое било име ви се допаѓа.
Библиотеката Барања ви овозможува да користите HTTP-читлива форма HTTP во рамките на вашите програми во Python, додека BeautifulSoup ќе го добие стружењето со поголема брзина. Може да ја користите изјавата за увоз за да ги добиете обете библиотеки.
Како да се соберат и анализираат веб-страница
Користете го методот requests.get () за да ја соберете URL-то на веб-страницата од која сакате да извлечете податоци. Следно, создадете предмет BeautifulSoup или парсирано дрво. Овој предмет го зема документот од Барања како свои аргументи и потоа го анализира. Со страницата собрана, анализирана и поставена како предмет на BeautifulSoup, тогаш можете да продолжите да ги собирате потребните податоци.
Извлекување на посакуваниот текст од анализираната веб-страница
Секогаш кога сакате да соберете веб-податоци, треба да знаете како тие податоци ги опишува Моделот на предмети на документи (DOM) на веб-страницата. Во вашиот веб прелистувач, кликнете со десното копче (ако користите Windows) или CTRL + кликнете (ако користите macOS) на една од елементите што формираат дел од податоците што се од интерес. На пример, ако сакате да извлечете податоци за националноста на учениците, кликнете на едно од имињата на студентот. Се појавува контекстно мени и во рамките на тоа ќе видите ставка од менито слично на Inspect Element (за Firefox) или Inspect (за Chrome). Кликнете на соодветната ставка од менито „Провери“ и алатките за веб развивач ќе се појават во вашиот прелистувач.
BeautifulSoup е едноставна, но моќна алатка за парсирање HTML, која ви овозможува голема флексибилност при стружење на веб-страниците . Кога го користите, не заборавајте да ги почитувате општите правила за стружење, како што се проверка на Условите и правилата на веб-страницата; редовно ревидирање на страницата и ажурирање на вашиот код според промените направени на страницата. Имајќи го ова знаење за стружење веб-страници со Python и BeautifulSoup, сега лесно можете да ги добиете веб-податоците што ви се потребни за вашиот проект.