Веб сцрапинг је моћна техника за извлачење информација са веб локација и њихову аутоматску анализу. Иако ово можете урадити ручно, то може бити досадан и дуготрајан задатак. Алати за стругање веба чине процес бржим и ефикаснијим, а истовремено коштају мање.
Занимљиво је да Гоогле табеле имају потенцијал да буду ваш алат за уклањање веб страница на једном месту, захваљујући својој функцији ИМПОРТКСМЛ. Са ИМПОРТКСМЛ-ом, можете лако да извучете податке са веб страница и да их користите за анализу, извештавање или било које друге задатке засноване на подацима.
Преглед садржаја
Функција ИМПОРТКСМЛ у Гоогле табелама
Гоогле табеле пружају уграђену функцију под називом ИМПОРТКСМЛ, која вам омогућава да увезете податке из веб формата као што су КСМЛ, ХТМЛ, РСС и ЦСВ. Ова функција може да промени игру ако желите да прикупљате податке са веб локација без прибегавања сложеном кодирању.
Ево основне синтаксе ИМПОРТКСМЛ-а:
=IMPORTXML(url, xpath_query)
- урл: УРЛ веб странице са које желите да извучете податке.
- кпатх_куери: КСПатх упит који дефинише податке које желите да издвојите.
КСПатх (КСМЛ Патх Лангуаге) је језик који се користи за навигацију по КСМЛ документима, укључујући ХТМЛ – који вам омогућава да одредите локацију података унутар ХТМЛ структуре. Разумевање КСПатх упита је неопходно за правилно коришћење ИМПОРТКСМЛ-а.
Разумевање КСПатх-а
КСПатх пружа различите функције и изразе за навигацију и филтрирање података унутар ХТМЛ документа. Свеобухватни водич за КСМЛ и КСПатх је ван оквира овог чланка, тако да ћемо се задовољити неким суштинским КСПатх концептима:
- Избор елемената: Можете да изаберете елементе помоћу / и // да означите путање. На пример, /хтмл/боди/див бира све елементе див у телу документа.
- Избор атрибута: Да бисте изабрали атрибуте, можете користити @. На пример, //@хреф бира све хреф атрибуте на страници.
- Филтери предиката: Можете филтрирати елементе користећи предикате затворене у угласте заграде ([ ]). На пример, /див[@class=”container”] бира све елементе див са контејнером класе.
- Функције: КСПатх обезбеђује различите функције као што су цонтаинс(), стартс-витх() и тект() за обављање одређених радњи као што је провера садржаја текста или вредности атрибута.
До сада знате ИМПОРТКСМЛ синтаксу, знате УРЛ веб локације и знате који елемент желите да издвојите. Али како да добијете КСПатх елемента?
Не морате да знате структуру веб локације напамет да бисте извукли њене податке помоћу ИМПОРТКСМЛ-а. У ствари, сваки претраживач има одличан алат који вам омогућава да тренутно копирате КСПатх било ког елемента.
Алат Инспецт Елемент вам омогућава да издвојите КСПатх из елемената веб локације. Ево како:
Сада када имате све што вам је потребно, време је да видите ИМПОРТКСМЛ у акцији и превучете неке везе.
Како да уклоните везе са веб локације помоћу ИМПОРТКСМЛ-а
Можете користити ИМПОРТКСМЛ да извучете све врсте података са веб локација. Ово укључује везе, видео записе, слике и скоро све елементе веб странице. Везе су један од најистакнутијих елемената у веб анализи и можете научити много о веб локацији само анализом страница на које води.
ИМПОРТКСМЛ вам омогућава да брзо скидате везе у Гоогле табелама, а затим их даље анализирате користећи различите функције које Гоогле табеле нуди.
1. Сцрапинг Алл Линкс
Да бисте уклонили све везе са веб странице, можете користити следећу формулу:
=IMPORTXML(url, "//a/@href")
Овај КСПатх упит бира све хреф атрибуте елемента, ефективно издвајајући све везе на страници.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
Формула изнад брише све везе у чланку на Википедији.
Добра је идеја да унесете УРЛ веб странице у посебну ћелију, а затим упутите на ту ћелију. Ово ће спречити да ваша формула постане предугачка и гломазна. Исто можете учинити са КСПатх упитом.
2. Сцрапинг алл линк тектс
Да бисте издвојили текст веза заједно са њиховим УРЛ адресама, можете користити:
=IMPORTXML(url, "//a")
Овај упит бира све елементе, а из резултата можете издвојити текст везе и УРЛ адресе.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
Формула изнад добија текстове веза у истом чланку на Википедији.
Како да извучете одређене везе са веб локације помоћу ИМПОРТКСМЛ-а
Понекад ћете можда морати да састружете одређене везе на основу критеријума. На пример, можда ћете бити заинтересовани да издвојите везе које садрже одређену кључну реч или везе које се налазе у одређеном делу странице.
Уз одговарајуће познавање КСПатх-а, можете прецизно одредити било који елемент који тражите.
1. Скрапинг линкова који садрже кључну реч
Да бисте уклонили везе које садрже одређену кључну реч, можете користити функцију цонтаинс() КСПатх:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
Овај упит бира хреф атрибуте елемената где хреф садржи наведену кључну реч.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
Формула изнад брише све везе које садрже запис речи у свом тексту у оквиру примера чланка на Википедији.
2. Сцрапинг линкс витхин а сецтион
Да бисте извукли везе из одређеног одељка странице, можете навести КСПатх одељка. На пример:
=IMPORTXML(url, "//div[@class="section"]//a/@href")
Овај упит бира хреф атрибуте елемената унутар див елемената са класом „сецтион“.
Слично, формула испод бира све везе унутар див класе које имају класу мв-цонтент-цонтаинер:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class="mw-content-container"]//a/@href")
Вреди напоменути да ИМПОРТКСМЛ можете користити за више од веб скрапинга. Можете да користите породицу функција ИМПОРТ за увоз табела података са веб локација у Гоогле табеле.
Иако Гоогле табеле и Екцел деле већину својих функција, ИМПОРТ породица функција је јединствена за Гоогле табеле. Мораћете да размотрите друге методе за увоз података са веб локација у Екцел.
Поједноставите Веб Сцрапинг помоћу Гоогле табела
Скрапинг са веба помоћу Гоогле табела и функције ИМПОРТКСМЛ је свестран и приступачан начин за прикупљање података са веб локација.
Савладавањем КСПатх-а и разумевањем како да креирате ефикасне упите, можете откључати пуни потенцијал ИМПОРТКСМЛ-а и стећи вредне увиде из веб ресурса. Дакле, почните да правите и подигните своју веб анализу на следећи ниво!