Уеб изстъргване с VBA

Съдържание:

Anonim

Какво е изчистване на данни?

Изчистването на данни е техниката, която помага при извличането на желаната информация от HTML уеб страница в локален файл, присъстващ във вашата локална машина. Обикновено локален файл може да съответства на Excel файл, word файл или да каже някое приложение на Microsoft Office. Помага при насочване на критична информация от уеб страницата.

Извличането на данни става лесно при ежедневна работа по изследователски проект и такъв проект зависи изцяло от интернет и уебсайта. За да илюстрираме по-нататък темата, нека вземем примера на дневен търговец, който управлява макрос на Excel за изтегляне на пазарна информация от финансов уебсайт в лист на Excel с помощта на VBA.

В този урок ще научите:

  • Какво е изчистване на данни?
  • Как да подготвим макроса на Excel, преди да извършим Изчистване на данни с помощта на Internet Explorer?
  • Как да отворите Internet Explorer с помощта на Excel VBA?
  • Как да отворите уебсайт в Internet Explorer с помощта на VBA?
  • Как да изгребвам информация от уебсайт с помощта на VBA?

Как да подготвим макроса на Excel, преди да извършим Изчистване на данни с помощта на Internet Explorer?

Има определени предпоставки, които трябва да бъдат изпълнени върху файла на макроса на Excel, преди да влезете в процеса на изстъргване на данни в Excel.

Тези предпоставки са както следва:

Стъпка 1) Отворете макрос, базиран на Excel, и отворете опцията за разработчици на Excel.

Стъпка 2) Изберете опцията Visual Basic под лентата за програмисти.

Стъпка 3) Поставете нов модул.

Стъпка 4) Инициализирайте нова подпрограма

Sub test()End sub

Модулът ще доведе до следното:

Стъпка 5) Отворете опцията за справка под раздела с инструменти и направете справка с Microsoft HTML Object Library и Microsoft Internet control.

Следните файлове трябва да бъдат препратени към модула, тъй като той помага при отварянето на Internet Explorer и улеснява развитието на макро скриптове.

Сега файлът на Excel е готов за взаимодействие с Internet Explorer. Следващата стъпка би била да се включат макро скриптове, които да улеснят изчистването на данни в HTML.

Как да отворите Internet Explorer с помощта на Excel VBA?

Стъпка 1) Инициализирайте променливата в подпрограмите, както е показано по-долу

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocument

Стъпка 2) За да отворите Internet Explorer с помощта на VBA, напишете ie visible = true и натиснете F5.

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentIe.visible=true

Модулът ще изглежда по следния начин:

Как да отворите уебсайт в Internet Explorer с помощта на VBA?

Ето стъпки за отваряне на уебсайт в Internet Explorer с помощта на VBA

Стъпка 1) След като успеете да осъществите достъп до Internet Explorer с помощта на Excel VBA, следващата стъпка ще включва достъп до уебсайт, използващ VBA. Това се улеснява от Navigate Attribute, при което URL адресът трябва да преминава като двойни кавички в атрибута. Следвайте следните стъпки, както е показано.

Sub test()Dim, ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate"http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETE

Стъпка 2) - Натиснете F5, за да изпълните макроса. Следващата уеб страница ще се отвори както е показано

Сега макросът на excel е готов по отношение на изпълнението на функциите за изстъргване. Следващата стъпка ще покаже как информацията може да бъде извлечена от Internet Explorer с помощта на VBA.

Как да изгребвам информация от уебсайт с помощта на VBA?

Да предположим, че денят на търговеца иска ежедневен достъп до данните от уебсайта. Всеки път, когато денят на търговец натисне бутона, той трябва автоматично да изтегли пазарните данни в Excel.

От горния уебсайт би било необходимо да се провери елемент и да се наблюдава как са структурирани данните.

Стъпка 1) Достъп до изходния код на HTML по-долу, като натиснете control + Shift + I

Изходният код ще бъде както следва:

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.document

Както може да се види, че данните са структурирани като една HTML таблица. Следователно, за да се изтеглят цели данни от html таблицата, ще е необходимо проектиране на макрос, който събира данните под формата на колекция.

След това колекцията ще бъде поставена в Excel. За да постигнете желаните резултати, изпълнете следните стъпки: -

Стъпка 2) Инициализирайте Html документа в подпрограмата

Модулът VBA ще изглежда по следния начин:

Стъпка 3) Инициализирайте елемента за събиране, присъстващ в HTML документа

Модулът VBA ще изглежда по следния начин:

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

Стъпка 4) Инициализирайте Excel листа клетки с помощта на вложен цикъл, както е показано

Модулът VBA ще изглежда по следния начин:

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

Excel може да бъде инициализиран с помощта на атрибута за диапазон на листа на Excel или чрез атрибута на клетки на листа на Excel. За да се намали сложността на VBA скрипта, данните за събиране се инициализират в атрибута на клетките на Excel на лист 1, наличен в работната книга.

След като скриптът на макроса е готов, преминете и присвойте подпрограмата за Excel и излезте от модула на VBA. Обозначете бутона като опресняване или всяко подходящо име, което може да бъде инициализирано към него. В този пример бутонът се инициализира като опресняване.

Стъпка 5) Натиснете бутона за опресняване, за да получите посочения по-долу изход

Стъпка 6) Сравнете резултатите в Excel с резултатите на Internet Explorer

Резюме:

  • Изчистването на данни позволява на потребителя да изтрие само информацията, която потребителят иска.
  • Изстъргването може да се извърши с помощта на Internet Explorer.
  • Процесът на изстъргване е по-бавен в случай на Internet Explorer; той обаче предоставя желаните резултати на потребителя.
  • Изстъргването трябва да се извършва с абсолютно внимание и предпазливост, тъй като може да навреди и да повреди системата, използвана за изстъргване.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change