Semalt Expert: Python и BeautifulSoup. Изстържете сайтове с лекота

Когато извършвате проекти за анализ на данни или проекти за машинно обучение, може да се наложи да изстържете уебсайтове, за да получите необходимите данни и да завършите проекта си. Python език за програмиране има мощна колекция от инструменти и модули, които могат да бъдат използвани за тази цел. Например, можете да използвате модула BeautifulSoup за разбор на HTML.

Тук ще разгледаме BeautifulSoup и ще разберем защо сега се използва толкова широко при уебсайта .

Функции на BeautifulSoup

- Той предоставя различни методи за лесна навигация, търсене и модифициране на дървета за разбор, като по този начин ви позволява лесно да разчленявате документ и да извлечете всичко необходимо, без да пишете твърде много код.

- Той автоматично преобразува изходящите документи в UTF-8, а входящите документи в Unicode. Това означава, че няма да се притеснявате за кодирането, при условие че документът е определил кодиране или Beautiful Soup може да го открие автоматично.

- BeautifulSoup се счита за превъзхождащ други популярни Python парсери като html5lib и lxml. Тя позволява да се опитат различни стратегии за разбор. Един недостатък на този модул обаче е, че той осигурява по-голяма гъвкавост за сметка на скоростта.

Какво ви трябва, за да изстържете уебсайта с BeautifulSoup?

За да започнете да работите с BeautifulSoup, трябва да имате настройка на Python среда за програмиране (локална или сървърна), настроена на вашето устройство. Python обикновено е предварително инсталиран в OS X, но ако използвате Windows, ще трябва да изтеглите и инсталирате езика от официалния уебсайт.

Трябва да имате инсталирани модули BeautifulSoup и Requests.

И накрая, запознаването и удобната работа с HTML тагване и структура определено е полезно, тъй като ще работите с данни, получени в мрежата.

Импортиране на заявки и библиотеки BeautifulSoup

С добре настроената среда за програмиране на Python, сега можете да създадете нов файл (използвайки например nano) с всяко име, което харесвате.

Библиотеката с заявки ви позволява да използвате четена от човека форма HTTP във вашите програми Python, докато BeautifulSoup прави изстъргването да се извършва с по-бърза скорост. Можете да използвате декларацията за импортиране, за да получите и двете библиотеки.

Как да събираме и анализираме уеб страница

Използвайте метода на request.get () за събиране на URL адреса на уеб страницата, от която искате да извлечете данни. След това създайте обект BeautifulSoup или анализирайте дърво. Този обект приема документа от Requests като свой аргумент и след това го анализира. Със страницата, събрана, анализирана и настроена като BeautifulSoup обект, можете да продължите да събирате необходимите данни.

Извличане на желания текст от анализираната уеб страница

Всеки път, когато искате да събирате уеб данни, трябва да знаете как тези данни се описват от модела на обект на документ (DOM) на уеб страницата. Във вашия уеб браузър щракнете с десния бутон на мишката (ако използвате Windows) или CTRL + щракнете (ако използвате macOS) върху един от елементите, представляващи част от интересуващите ви данни. Например, ако искате да извадите данни за националностите на студентите, щракнете върху едно от имената на студента. Ще се появи контекстно меню и в него ще видите елемент от менюто, подобен на Inspect Element (за Firefox) или Inspect (за Chrome). Щракнете върху съответния елемент от менюто Инспектиране и в браузъра ви ще се появят инструментите за уеб разработчици.

BeautifulSoup е прост, но мощен инструмент за анализ на HTML, който ви позволява голяма гъвкавост при изстъргване на уебсайтове . Когато го използвате, не забравяйте да спазвате общи правила за остъргване, като например проверка на Общите условия на уебсайта; редовно преглеждайте сайта и актуализирайте кода си според промените, направени в него. Имайки тези знания за бракуване на уебсайтове с Python и BeautifulSoup, сега можете лесно да получите необходимите за вашия проект уеб данни.