Эксперт Semalt прапануе кіраўніцтва па выскрабанні Інтэрнэту з дапамогай Javascript

Скрабаванне па Інтэрнэце можа стаць выдатнай крыніцай крытычна важных дадзеных, якія выкарыстоўваюцца ў працэсе прыняцця рашэнняў у любой справе. Такім чынам, яно ляжыць у аснове аналізу дадзеных, бо гэта адзіны верны спосаб збору надзейных дадзеных. Але, паколькі колькасць змесціва ў Інтэрнэце, які можна вынесці, увесь час павялічваецца, можа быць практычна немагчыма пераламаць кожную старонку ўручную. Гэта патрабуе аўтаматызацыі.

Хоць ёсць шмат інструментаў, якія прызначаны для розных праектаў аўтаматычнага выскрабання, большасць з іх з'яўляюцца прэміум-класамі і будуць каштаваць цэлага цэлага стану. Тут уступае Puppeteer + Chrome + Node.JS. Гэты падручнік правядзе вас праз працэс, які дазваляе аўтаматычна вычышчаць вэб-сайты.

Як працуе ўстаноўка?

Важна адзначыць, што ў гэтым праекце спатрэбіцца трохі ведаў пра JavaScript. Для пачатку вам трэба будзе атрымаць вышэйпералічаныя 3 праграмы асобна. Puppeteer - гэта бібліятэка вузлоў, якая можа выкарыстоўвацца для кіравання Chrome без галавы. Без галавы Chrome ставіцца да працэсу запуску хрому без яго GUI, інакш кажучы, без запуску chrome. Вам трэба будзе ўсталяваць Node 8+ са свайго афіцыйнага сайта.

Усталяваўшы праграмы, прыйшоў час стварыць новы праект, каб пачаць распрацоўваць код. У ідэале, гэта выскрабанне JavaScript, таму што вы будзеце выкарыстоўваць код для аўтаматызацыі працэсу выскрабання. Для атрымання дадатковай інфармацыі пра Puppeteer звярніцеся да яго дакументацыі, ёсць сотні прыкладаў, з якімі вы можаце пагуляць.

Як аўтаматызаваць выскрабанне JavaScript

Стварыўшы новы праект, пераходзіце да стварэння файла (.js). У першым радку вам трэба будзе выклікаць залежнасць Лялечніка, якую вы ўсталявалі раней. Затым ідзе асноўная функцыя "getPic ()", якая будзе ўтрымліваць увесь код аўтаматызацыі. Трэці радок выкліча функцыю "getPic ()", каб запусціць яе. Улічваючы, што функцыя getPic () - гэта функцыя "async", мы можам выкарыстоўваць выраз чакання, які прыпыніць функцыю, чакаючы, пакуль "абяцанне" будзе вырашана, перш чым перайсці да наступнага радка кода. Гэта будзе функцыянаваць у якасці асноўнай функцыі аўтаматызацыі.

Як выклікаць хрому без галавы

Наступны радок кода: "const browser = чакаць puppeteer.Launch ();" аўтаматычна запусціць лялечнік і запусціць храмаваны асобнік, усталяваўшы яго ў нашу нядаўна створаную зменную "браўзэр". Перайдзіце да стварэння старонкі, якая потым будзе выкарыстоўвацца для пераходу да URL, які вы хочаце пераламаць.

Як бракаваць дадзеныя

API Puppeteer дазваляе пагуляць з рознымі ўводамі на сайце, такімі як тактоўка, запаўненне формы, а таксама чытанне дадзеных. Вы можаце звярнуцца да яго, каб даведацца пра тое, як вы можаце аўтаматызаваць гэтыя працэсы. Функцыя "scrape ()" будзе выкарыстоўвацца для ўводу нашага кода. Перайдзіце да запуску вузла функцыі scrape.js, каб пачаць працэс выскрабання. Затым уся ўстаноўка павінна аўтаматычна пачаць выводзіць неабходны кантэнт. Важна памятаць, каб прайсці свой код і праверыць, ці ўсё працуе ў адпаведнасці з дызайнам, каб пазбегнуць памылак на гэтым шляху.