Уеб скрапping с VBA
Какво е Data Scrapeping?
Изтриване на данниping е техниката, която помага при бившияtracпрехвърляне на желана информация от HTML уеб страница в локален файл, намиращ се на вашата локална машина. Обикновено локален файл може да съответства на Excel файл, Word файл или, да речем, който и да е друг Microsoft офис приложение. Помага при насочването на критична информация от уеб страницата.
Данните са изтритиping става лесно, когато се работи ежедневно по изследователски проект, а такъв проект е изцяло зависим от интернет и уебсайта. За да илюстрираме по-добре темата, нека вземем примера с дневен търговец, който изпълнява макрос в Excel за извличане на пазарна информация от финансов уебсайт в Excel таблица, използвайки VBA.
Как да подготвите макрос в Excel преди да извършите изтриване на данниping използвам ли Интернет Експлорър?
Има определени предварителни изисквания, които трябва да бъдат изпълнени върху макро файла на Excel, преди да се започне процесът на изтриване на данни.ping в ексел.
Тези предпоставки са както следва: –
Стъпка 1) Отворете базиран на Excel макрос и отворете опцията за разработчици на excel.
Стъпка 2) Изберете опцията Visual Basic под лентата за програмисти.
Стъпка 3) Поставете нов модул.
Стъпка 4) Инициализиране на нова подпрограма
Sub test() End sub
Модулът ще доведе до следния резултат: –
Стъпка 5) Осъществете достъп до опцията за справка под раздела с инструменти и справка Microsoft Библиотека с HTML обекти и Microsoft интернет контрол.
Следните файлове трябва да бъдат препратени към модула, тъй като той помага при отварянето на Internet Explorer и улеснява разработването на макро скриптове.
Сега Excel файлът е готов за взаимодействие с Internet Explorer. Следващата стъпка е да се включат макроскриптове, които биха улеснили изтриването на данни.ping в HTML.
Как да отворите Internet Explorer с помощта на Excel VBA?
Стъпка 1) Инициализирайте променливата в подпрограмите, както е показано по-долу
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
Стъпка 2) За да отворите Internet Explorer с помощта на VBA, пишете т.е. видимо=вярно и натиснете F5.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Ie.visible=true
Модулът ще изглежда по следния начин:
Как да отворите уебсайт в Internet Explorer с помощта на VBA?
Ето стъпките за отваряне на уебсайт в Internet Explorer с помощта на VBA
Стъпка 1) След като имате достъп до Internet Explorer с помощта на Excel VBA, следващата стъпка ще включва достъп до уебсайт с помощта на VBA. Това се улеснява от Navigate Attribute, при което URL адресът трябва да премине като двойни кавички в атрибута. Следвайте следните стъпки, както са показани.
Sub test() Dim, ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.navigate"https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE
Стъпка 2) – Натиснете F5, за да изпълните макроса. Следната уеб страница ще бъде отворена, както е показано
Сега макросът на Excel е готов за извършване на scraping.ping функции. Следващата стъпка ще покаже как информацията може да бъдеtracизтеглено от Internet Explorer с помощта на VBA.
Как да изтриете информация от уебсайт с помощта на VBA?
Да предположим, че дневният търговец иска да има достъп до данните от уебсайта ежедневно. Всеки път, когато дневният търговец натисне бутона за щракване, той трябва автоматично да изтегли пазарните данни в Excel.
От горния уебсайт би било необходимо да се провери елемент и да се наблюдава как са структурирани данните.
Стъпка 1) Достъп до изходния код на HTML по-долу, като натиснете control + Shift + I
<table class="datatable"> <thead> <tr> <th>Company</th> <th>Group</th> <th>Pre Close (Rs)</th> <th>Current Price (Rs)</th> <th>% Change</th> </tr>
Изходният код ще бъде както следва: –
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document
Както може да се види, данните са структурирани като една HTML таблица. Следователно, за да се изтеглят цели данни от html таблицата, ще е необходимо проектиране на макрос, който събира данните под формата на колекция.
След това колекцията ще бъде поставена в Excel. За да постигнете желаните резултати, изпълнете следните стъпки: –
Стъпка 2) Инициализирайте Html документа в подпрограмата
VBA модулът ще изглежда по следния начин: –
Стъпка 3) Инициализирайте елемента на колекцията, присъстващ в HTML документа
VBA модулът ще изглежда по следния начин: –
Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")
Стъпка 4) Инициализирайте клетките на листа на Excel с помощта на вложен цикъл, както е показано
VBA модулът ще изглежда по следния начин: –
Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")
Excel може да се инициализира с помощта на атрибута range на листа на Excel или чрез атрибута клетки на листа на Excel. За да се намали сложността на скрипта VBA, данните за колекцията се инициализират към атрибута клетки на excel на лист 1, присъстващ в работната книга.
След като макрос скриптът е готов, преминете и задайте подпрограмата към бутона на excel и излезте от модула на VBA. Етикетирайте бутона като опресняване или всяко подходящо име, което може да бъде инициализирано към него. За този пример бутонът се инициализира като опресняване.
Стъпка 5) Натиснете бутона за опресняване, за да получите посочения по-долу резултат
Стъпка 6) Сравнете резултатите в excel с резултатите от internet explorer
Oбобщение
- Данните са изтритиping позволява на потребителя да извлече само информацията, която иска. За да намерите най-добрите инструменти за тази цел, разгледайте този списък с инструменти за уеб извличане.ping инструменти, които могат да ви помогнат ефективно даtracжеланата информация от различни уебсайтове.
- SCRAping може да се извърши с помощта на Internet Explorer.
- Процесът на стърженеping е по-бавен в случая на Internet Explorer; въпреки това, той предоставя желаните резултати на потребителя.
- Остъргванетоping трябва да се извършва с абсолютна грижа и предпазливост, тъй като може да повреди и да срине системата, използвана за скрапване.ping.











