Semalt - Як саскрэбці вэб-старонкі?

Beautiful Soup - гэта бібліятэка Python, якая шырока выкарыстоўваецца для выскрабання вэб-старонак, ствараючы дрэва разбору з XML і HTML дакументаў. Інтэрнэт-выскрабанне, тэхніка здабывання дадзеных з вэб-сайтаў і старонак, шырока выкарыстоўваецца ў галіне аналізу дадзеных і кіравання. У большасці выпадкаў мова праграмавання Python з'яўляецца неабходнай умовай навукі аб даных.

У Python 3 ёсць інструменты для выскрабання і модулі, якія вы можаце прымяніць да праекта па кіраванні дадзенымі. У цяперашні час працуе як Beautiful Soup 4, гэты модуль сумяшчальны як з Python 3, так і з Python 2.7. Модуль Beautiful Soup 4 таксама здольны стварыць дрэва разбору для супу без закрытых тэгаў. У гэтым уроку вы даведаецеся, як саскрабаць старонку і запісваць скрабаваныя дадзеныя ў файл CSV.

Пачатак

Для пачатку наладзьце на ПК сервер або мясцовае асяроддзе кадавання Python. Вы таксама павінны ўсталяваць модуль Beautiful Soup and Requests на вашай машыне. Веданне працы з абодвума модулямі таксама з'яўляецца неабходнай умовай. Знаёмства з тэгамі HTML і структурай таксама з'яўляецца дадатковай перавагай.

Разуменне вашых дадзеных

У гэтым кантэксце будуць выкарыстаны рэальныя дадзеныя Нацыянальнай галерэі мастацтваў, якія дапамогуць вам зразумець, як выкарыстоўваць прыгожы суп 4. Нацыянальная мастацкая галерэя складаецца з 120 000 твораў, зробленых прыблізна ў 13000 мастакоў. Мастацтва заснавана ў Вашынгтоне, ЗША.

Выдаленне дадзеных у Інтэрнэце пры дапамозе Beautiful Soup не так ужо і складана. Напрыклад, калі вы сканцэнтраваны на літары Z, пазначце і запішыце імя ў спісе. У гэтым выпадку першае імя - Забаглія, Нікола. Для ўзгодненасці пакажыце колькасць старонак і імя апошняга выканаўцы на гэтай старонцы.

Як імпартаваць запыты і бібліятэку Beautiful Soup

Каб імпартаваць бібліятэкі, актывуйце асяроддзе праграмавання Python 3. Пераканайцеся, што вы знаходзіцеся ў адным каталогу з вашай праграмнай асяроддзем. Для пачатку запусціце наступную каманду. my_env / bin / актываваць.

Стварыце новы файл і пачніце імпартаваць бібліятэкі Beautiful Soup and Requests. Бібліятэка запытаў дазволіць вам выкарыстоўваць HTTP у вашых праграмах Python у чытаных фарматах. Прыгожы суп, з іншага боку, працуе, каб хутка выскрабаць старонкі. Выкарыстоўвайце bs4, каб імпартаваць прыгожы суп.

Як сабраць і разабраць вэб-старонку

З дапамогай запытаў збірайце URL вашай першай старонкі. URL першай старонкі будзе прызначаны змененай старонцы. Стварыце аб'ект BeautifulSoup з запытаў і разабрайце аб'ект з аналізатара Python.

Мэтай гэтага ўрока з'яўляецца збор спасылак і імёнаў мастакоў. Напрыклад, вы можаце збіраць даты выканаўцаў і нацыянальнасці. Для карыстальнікаў Windows пстрыкніце правай кнопкай мышы на імя выканаўцы. У гэтым выпадку выкарыстоўвайце Zabaglia, Niccola. Для карыстальнікаў Mac OS націсніце "CTRL" і націсніце імя. Націсніце на меню "Прагледзець элемент", якое з'явіцца на экране, каб атрымаць доступ да інструментаў вэб-распрацоўнікаў. Надрукуйце імёны выканаўцаў, каб Хуткая супа хутка разабрала дрэва.

Выдаленне ніжніх спасылак

Каб выдаліць ніжнія спасылкі з вашай вэб-старонкі, агледзіце DOM, націснуўшы элемент правай кнопкай мышы. Вы выявіце, што спасылкі знаходзяцца ў табліцы HTML. Выкарыстоўваючы прыгожы суп, выкарыстоўвайце "метад раскладання", каб выдаліць тэгі з дрэва разбору.

Як выцягнуць змесціва з тэга

Вам не прыйдзецца раздрукоўваць цэлы тэг спасылкі, выкарыстоўвайце Beautiful Soup для выдалення матэрыялу з тэга. Вы таксама можаце захопліваць URL-адрасы, звязаныя з выканаўцамі, выкарыстоўваючы Beautiful Soup 4.

Захоп скрабаваных дадзеных у файле CSV

Файл CSV дазволіць вам захоўваць структураваныя дадзеныя ў звычайным тэксце, фармат, які выкарыстоўваецца ў асноўным для табліц дадзеных. Веды аб апрацоўцы простых тэкставых файлаў у Python не рэкамендуюцца.

Выдаленне дадзеных у Інтэрнэце выкарыстоўваецца для выскрабання старонак і атрымання інфармацыі. Будзьце ўважлівыя да сайтаў, з якіх вы атрымліваеце інфармацыю. Некаторыя дынамічныя сайты абмяжоўваюць здабычу дадзеных на сваіх сайтах. Зрэзаць старонку з Beautiful Soup і Python 3 - гэта проста.