Коришћење Екцел ВБА и селена

Шта је стругање података помоћу селена?

Селен се може класификовати као алат за аутоматизацију који олакшава стругање информација са ХТМЛ веб страница за обављање веб стругања користећи гоогле цхроме.

У овом упутству ћете научити:

  • Шта је стругање података помоћу селена?
  • Како припремити Екцел макро пре извођења стругања података помоћу селена?
  • Како отворити Гоогле Цхроме помоћу ВБА?
  • Како отворити веб локацију у Гоогле цхроме-у помоћу ВБА?
  • Како се струже информације са веб локације помоћу ВБА?

Како припремити Екцел макро пре извођења стругања података помоћу селена?

Постоје одређени предуслови које је потребно извршити на датотеци макронаредби екцел пре него што уђе у процес стругања података у екцелу.

Ови предуслови су следећи: -

Корак 1) Отворите макро заснован на Екцел-у и приступите развојној опцији екцел.

Корак 2) Изаберите опцију Висуал Басиц испод траке програмера.

Корак 3) Уметните нови модул.

Корак 4) Иницијализујте нову потпрограм и дајте јој назив тест2.

Пот тест2 ()Крај под

Резултати овог модула били би следећи: -

Корак 5) Приступите референтној опцији на картици алата и референцирајте библиотеку типа Селениум. На следеће библиотеке треба упутити модул јер помаже у отварању гоогле цхроме-а и олакшава развој макро скрипти.

Сада је Екцел датотека спремна за интеракцију са Интернет Екплорер-ом. Следећи кораци били би укључивање макро скрипте која би олакшала стругање података у ХТМЛ-у.

Како отворити Гоогле Цхроме помоћу ВБА?

Ево корака за отварање Гоогле Цхроме-а помоћу ВБА

Корак 1) Декларишите и иницијализујте променљиве у потпрограму као што је приказано испод

Пот тест2 ()Затамњени управљачки програм као нови веб погонитељЗатамни ровц, цц, цолумнЦ као цео број

Корак 2) Да бисте отворили гоогле цхроме помоћу селена и ВБА, напишите дривер.старт "цхроме" и притисните Ф5 .

Следеће би било код.

Пот тест2 ()Затамњени управљачки програм као нови веб погонитељЗатамни ровц, цц, цолумнЦ као цео бројДривер.старт "Цхроме"Апплицатион.Ваит Нов + Тимевалуе ("00:00:20")Крај под

Резултат модула би био:

Како отворити веб локацију у Гоогле цхроме-у помоћу ВБА?

Једном када приступите гоогле цхроме-у помоћу ВБА-а, следећи корак биће укључивање приступа веб локацији помоћу ВБА-а. Ово је олакшано функцијом гет у којој УРЛ мора да пролази као двоструки наводници у атрибуту.

Следите следеће кораке како је приказано

Модул би изгледао на следећи начин: -

Притисните Ф5 да бисте извршили макро.

Следећа веб страница би се отворила у гоогле цхроме као што је приказано

Пот тест2 ()Затамњени управљачки програм као нови веб погонитељЗатамни ровц, цц, цолумнЦ као цео бројДривер.старт "Цхроме"Дривер.гет "хттп://демо.гуру99.цом/тест/веб-табле-елемент.пхп"Апплицатион.Ваит Нов + Тимевалуе ("00:00:20")Крај под

Сада је екцел макро спреман за обављање задатака стругања. Следећи корак би приказао како се информације могу извући применом селена и ВБА.

Како се струже информације са веб локације помоћу ВБА?

Претпоставимо да трговац на дан жели свакодневно да приступи подацима са веб локације. Сваки пут када трговац на дан притисне тастер, требало би да аутоматски повуче тржишне податке у екцел.

Са горе наведене веб странице, било би потребно прегледати елемент и посматрати како су подаци структурирани. Приступите доњем изворном коду ХТМЛ-а притиском на цонтрол + Схифт + И

<табле цласс = "дататабле"><тхеад><тр><тх> Компанија <тх> Група <тх> Пре Цлосе (Рс) <тх> Тренутна цена (кн) <тх>% промена 

Изворни код би био следећи: -

Као што се може видети да су подаци структурирани као једна ХТМЛ табела. Стога, да би се извукли цели подаци из ХТМЛ табеле, било би потребно дизајнирање макронаредбе која повлачи информације о заглављу ХТМЛ табеле и одговарајуће податке повезане са табелом. Извршите следеће задатке како је приказано: -

Корак 1) Формулишите фор петљу која пролази кроз информације о ХТМЛ заглављу као колекција. Управљачки програм селена мора да пронађе информације о заглављу ХТМЛ табеле. Да бисмо то урадили, користимо методу ФиндЕлементБиЦласс () и ФиндЕлементБиТаг () за извршавање задатка како је приказано

ВБА модул би изгледао на следећи начин: -

Пот тест2 ()Затамњени управљачки програм као нови ВебДриверЗатамни ровц, цц, цолумнЦ Ас Интегерровц = 2Апплицатион.СцреенУпдатинг = Нетачновозач.Покрените "хром"дривер.Гет "хттп://демо.гуру99.цом/тест/веб-табле-елемент.пхп"За сваки тх ин дривер.ФиндЕлементБиЦласс ("датаТабле"). ФиндЕлементБиТаг ("тхеад"). ФиндЕлементсБиТаг ("тр")цц = 1За сваку т у тх.ФиндЕлементсБиТаг ("тх")Лист2.Целлс (1, цц) .Валуе = т.Тектцц = цц + 1Следећи ТСледеће

Корак 2) Затим би покретач селена лоцирао податке табеле користећи сличан приступ, као што је горе поменуто. Морате написати следећи код: -

Пот тест2 ()Затамњени управљачки програм као нови ВебДриверЗатамни ровц, цц, цолумнЦ Ас Интегерровц = 2Апплицатион.СцреенУпдатинг = Нетачновозач.Покрените "хром"дривер.Гет "хттп://демо.гуру99.цом/тест/веб-табле-елемент.пхп"За сваки тх ин дривер.ФиндЕлементБиЦласс ("датаТабле"). ФиндЕлементБиТаг ("тхеад"). ФиндЕлементсБиТаг ("тр")цц = 1За сваку т у тх.ФиндЕлементсБиТаг ("тх")Лист2.Целлс (1, цц) .Валуе = т.Тектцц = цц + 1Следећи ТСледећеЗа сваки тр Ин возач.ФиндЕлементБиЦласс ("датаТабле"). ФиндЕлементБиТаг ("тбоди"). ФиндЕлементсБиТаг ("тр")колонаЦ = 1За сваки тд у тр.ФиндЕлементсБиТаг ("тд")Лист2.Целлс (ровц, цолумнЦ) .Валуе = тд.ТектколонаЦ = колонаЦ + 1Следећи тдровц = ровц + 1Следећи трАпплицатион.Ваит Нов + ТимеВалуе ("00:00:20")Енд Суб

ВБА модул би изгледао на следећи начин: -

Екцел се може иницијализовати помоћу атрибута Ранге на екцел листу или преко атрибута ћелија на екцел листу. Да би се смањила сложеност ВБА скрипте, подаци о колекцији се иницијализују у атрибут екцел ћелија листа 2 присутан у радној свесци. Даље, атрибут текста помаже у добијању текстуалних информација смештених под ХТМЛ ознаку.

Пот тест2 ()Затамњени управљачки програм као нови ВебДриверЗатамни ровц, цц, цолумнЦ Ас Интегерровц = 2Апплицатион.СцреенУпдатинг = Нетачновозач.Покрените "хром"дривер.Гет "хттп://демо.гуру99.цом/тест/веб-табле-елемент.пхп"За сваки тх ин дривер.ФиндЕлементБиЦласс ("датаТабле"). ФиндЕлементБиТаг ("тхеад"). ФиндЕлементсБиТаг ("тр")цц = 1За сваку т у тх.ФиндЕлементсБиТаг ("тх")Лист2.Целлс (1, цц) .Валуе = т.Тектцц = цц + 1Следећи ТСледећеЗа сваки тр Ин возач.ФиндЕлементБиЦласс ("датаТабле"). ФиндЕлементБиТаг ("тбоди"). ФиндЕлементсБиТаг ("тр")колонаЦ = 1За сваки тд у тр.ФиндЕлементсБиТаг ("тд")Лист2.Целлс (ровц, цолумнЦ) .Валуе = тд.ТектколонаЦ = колонаЦ + 1Следећи тдровц = ровц + 1Следећи трАпплицатион.Ваит Нов + ТимеВалуе ("00:00:20")Енд Суб

ВБА модул би изгледао на следећи начин: -

Корак 3) Када је макро скрипта спремна, додајте и доделите потпрограм дугмету екцел и изађите из модула ВБА. Означите дугме као освежавање или било које одговарајуће име које би могло да се иницијализује. У овом примеру, дугме је иницијализовано као освежавање.

Корак 4) Притисните дугме за освежавање да бисте добили доленаведени излаз

Корак 5) Упоредите резултате у екцелу са резултатима гоогле цхроме-а

Резиме:

  • Селен се може класификовати као алат за аутоматизацију који олакшава стругање информација са ХТМЛ веб страница за обављање веб стругања користећи гоогле цхроме.
  • Стругање на Интернету треба пажљиво изводити.
  • Избацивање информација је обично у супротности са условима веб локације.
  • Када се стругање врши кроз селен, тада нуди подршку за више прегледача.
  • Другим речима, стругач може да обавља сличне задатке стругања и кроз Фирефок, Интернет Екплорер.

Занимљиви Чланци...