Какво е изчистване на данни с помощта на селен?
Селенът може да бъде класифициран като инструмент за автоматизация, който улеснява изстъргването на информация от HTML уеб страниците за извършване на изстъргване в мрежата с помощта на google chrome.
В този урок ще научите:
- Какво е изчистване на данни с помощта на селен?
- Как да подготвим макроса на Excel, преди да извършим изстъргване на данни с помощта на селен?
- Как да отворите Google Chrome с помощта на VBA?
- Как да отворите уебсайт в Google chrome с помощта на VBA?
- Как да изгребвам информация от уебсайт с помощта на VBA?
Как да подготвим макроса на Excel, преди да извършим изстъргване на данни с помощта на селен?
Има определени предпоставки, които трябва да бъдат изпълнени върху файла на макроса на Excel, преди да влезете в процеса на изстъргване на данни в Excel.
Тези предпоставки са както следва:
Стъпка 1) Отворете макрос, базиран на Excel, и отворете опцията за разработчици на Excel.
Стъпка 2) Изберете опцията Visual Basic под лентата за програмисти.
Стъпка 3) Поставете нов модул.
Стъпка 4) Инициализирайте нова подпрограма и я наречете като test2.
Подтест2 ()Крайна под
Следват резултатите в модула:
Стъпка 5) Достъп до референтната опция под раздела с инструменти и референтна библиотека от тип Selenium. Следните библиотеки трябва да бъдат препратени към модула, тъй като той помага при отварянето на google chrome и улеснява развитието на макро скриптове.
Сега файлът на Excel е готов за взаимодействие с Internet Explorer. Следващите стъпки ще бъдат включването на макро скрипт, който ще улесни изчистването на данни в HTML.
Как да отворите Google Chrome с помощта на VBA?
Тук са стъпка за отваряне на Google Chrome чрез VBA
Стъпка 1) Декларирайте и инициализирайте променливите в подпрограмата, както е показано по-долу
Подтест2 ()Затъмнен драйвер като нов уеб драйверЗатъмнете rowc, cc, columnC като цяло число
Стъпка 2) За да отворите google chrome с помощта на селен и VBA, напишете driver.start "chrome" и натиснете F5 .
По-долу ще бъде кодът.
Подтест2 ()Затъмнен драйвер като нов уеб драйверЗатъмнете rowc, cc, columnC като цяло числоDriver.start "Chrome"Application.Wait Now + Timevalue ("00:00:20")Крайна под
Модулът ще доведе до следното:
Как да отворите уебсайт в Google chrome с помощта на VBA?
След като успеете да осъществите достъп до google chrome с помощта на VBA, следващата стъпка ще бъде да включите достъпа до уебсайт, използващ VBA. Това се улеснява от функцията get, при която URL адресът трябва да преминава като двойни кавички в атрибута.
Следвайте следните стъпки, както е показано
Модулът ще изглежда по следния начин:
Натиснете F5, за да изпълните макроса.
Следващата уеб страница ще бъде отворена в google chrome, както е показано
Подтест2 ()Затъмнен драйвер като нов уеб драйверЗатъмнете rowc, cc, columnC като цяло числоDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Application.Wait Now + Timevalue ("00:00:20")Крайна под
Сега макросът на Excel е готов по отношение на изпълнението на задачите за изстъргване. Следващата стъпка ще покаже как информацията може да бъде извлечена чрез прилагане на селен и VBA.
Как да изгребвам информация от уебсайт с помощта на VBA?
Да предположим, че денят на търговеца иска ежедневен достъп до данните от уебсайта. Всеки път, когато денят на търговец натисне бутона, той трябва автоматично да изтегли пазарните данни в Excel.
От горния уебсайт би било необходимо да се провери елемент и да се наблюдава как са структурирани данните. Влезте в изходния код на HTML по-долу, като натиснете control + Shift + I
<таблица клас = "datatable">Фирма Група Предварително затваряне (Rs) Текуща цена (Rs) % промяна Изходният код ще бъде както следва:
Както може да се види, че данните са структурирани като една HTML таблица. Следователно, за да се изтеглят цели данни от HTML таблицата, ще е необходимо проектиране на макрос, който извлича информацията за заглавието на HTML таблицата и съответните данни, свързани с таблицата. Изпълнете следните задачи, както е показано: -
Стъпка 1) Формулирайте цикъл for, който преминава през информацията за HTML заглавката като колекция. Драйверът на селен трябва да намери заглавната информация на HTML таблицата. За целта използваме метода FindElementByClass () и FindElementByTag (), за да изпълним задачата, както е показано
Модулът VBA ще изглежда по следния начин:
Подтест2 ()Затъмнен драйвер като нов WebDriverЗатъмнете rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Невярнодрайвер.Стартирайте "хром"driver.Get "http://demo.guru99.com/test/web-table-element.php"За всеки th в драйвер.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1За всеки t в th.FindElementsByTag ("th")Лист 2. Клетки (1, cc). Стойност = t. Текстcc = cc + 1Следващата тСледващатаСтъпка 2) След това драйверът за селен ще намери данните от таблицата, използвайки подобен подход, както беше споменато по-горе. Трябва да напишете следния код: -
Подтест2 ()Затъмнен драйвер като нов WebDriverЗатъмнете rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Невярнодрайвер.Стартирайте "хром"driver.Get "http://demo.guru99.com/test/web-table-element.php"За всеки th в драйвер.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1За всеки t в th.FindElementsByTag ("th")Лист 2. Клетки (1, cc). Стойност = t. Текстcc = cc + 1Следващата тСледващатаЗа всеки tr In драйвер.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")колонаC = 1За всеки td в tr.FindElementsByTag ("td")Лист 2. Клетки (rowc, columnC). Стойност = td.TextколонаC = колонаC + 1Следващ tdrowc = rowc + 1Следващ trApplication.Wait Now + TimeValue ("00:00:20")Крайна подМодулът vba ще изглежда по следния начин:
Excel може да бъде инициализиран с помощта на атрибута Range на Excel листа или чрез атрибута клетки на Excel листа. За да се намали сложността на VBA скрипта, данните за събиране се инициализират в атрибута на клетки на Excel на лист 2, наличен в работната книга. Освен това, текстовият атрибут помага за получаването на текстовата информация, поставена под HTML таг.
Подтест2 ()Затъмнен драйвер като нов WebDriverЗатъмнете rowc, cc, columnC As Integerrowc = 2Application.ScreenUpdating = Невярнодрайвер.Стартирайте "хром"driver.Get "http://demo.guru99.com/test/web-table-element.php"За всеки th в драйвер.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1За всеки t в th.FindElementsByTag ("th")Лист 2. Клетки (1, cc). Стойност = t. Текстcc = cc + 1Следващата тСледващатаЗа всеки tr In драйвер.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")колонаC = 1За всеки td в tr.FindElementsByTag ("td")Лист 2. Клетки (rowc, columnC). Стойност = td.TextколонаC = колонаC + 1Следващ tdrowc = rowc + 1Следващ trApplication.Wait Now + TimeValue ("00:00:20")Крайна подМодулът vba ще изглежда по следния начин:
Стъпка 3) След като макро скриптът е готов, преминете и присвойте подпрограмата на бутона excel и излезте от модула на VBA. Обозначете бутона като опресняване или всяко подходящо име, което може да бъде инициализирано към него. В този пример бутонът се инициализира като опресняване.
Стъпка 4) Натиснете бутона за опресняване, за да получите посочения по-долу изход
Стъпка 5) Сравнете резултатите в Excel с резултатите на google chrome
Резюме:
- Селенът може да бъде класифициран като инструмент за автоматизация, който улеснява изстъргването на информация от HTML уеб страниците за извършване на изстъргване в мрежата с помощта на google chrome.
- Изстъргването в интернет трябва да се извършва внимателно.
- Изключването на информация обикновено противоречи на условията на уебсайта.
- Когато изстъргването се извършва чрез селен, той предлага поддръжка на множество браузъри.
- С други думи, скреперът може да изпълнява подобни задачи на изстъргване през Firefox, Internet Explorer също.