WebScrapping dengan Visual Basic dan HTMLAgilityPack
HTMLAgilityPack merupakan html parser yang di bangun dengan c# untuk membaca/menulis DOM . Mendukung XPATH atau XSLT biasa. Ini adalah pustaka kode .NET yang memungkinkan Anda mengurai file HTML. Jika anda suka dengan web scrapping, dan ternyata c# ataupun visual basic yang menjadi bahasa yang anda kuasai, maka HTML Agilitypack ini merupakan sebuah keharusan untuk dipelajari.
Karena mendukung XPATH, ini juga akan memudahkan anda semuanya dalam memilah atau mengurai data data dari sebuah html code.
Cara Install
Untuk Install HTML AgilityPack di visual studio, rekan rekan bisa langsung menuju ke nudget package install, kemudian search htmlAgilityPack, Kemudian install saja. Maka nanti package ini akan otomatis terinstall di project rekan rekan semua.
Dan untuk memakai di visual basic, rekan rekan harus mengimport terlebih dahulu agar bisa dipakai dengan cara
import htmlagilitypack
HTML Parser
Parser HTML memungkinkan Anda untuk mem-parsing HTML dan mengembalikan HtmlDocument.
Memuat dokumen HTML dari file.
Dim path = "C:\Users\pithu7\Documents\index.html"
Dim htmldoc = New HtmlDocument()
htmldoc.Load(path)
Dim node = htmldoc.DocumentNode.SelectSingleNode("//body")
TextBox1.Text = node.InnerHtml.ToString
Memuat dokumen HTML dari string.
Dim htmlstring = "
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>"
Dim htmldoc = New HtmlDocument()
htmldoc.LoadHtml(htmlstring)
Dim node = htmldoc.DocumentNode.SelectSingleNode("//body")
TextBox1.Text = node.InnerHtml.ToString
Memuat dokumen HTML dari URL.
Dim url = "https://riffamedia.com"
dim web as HtmlWeb = new HtmlWeb()
dim htmlDoc = web.Load(url)
Dim node = htmldoc.DocumentNode.SelectSingleNode("//body")
TextBox1.Text = node.InnerHtml.ToString
HTML Selectors
Selectors memungkinkan Anda untuk memilih node HTML dari HtmlDocument.
SelectNodes()
Dim nodes = htmlDoc.DocumentNode.SelectNodes("//*[@class='entry-title']")
For Each title In nodes
MsgBox(title.InnerText.ToString)
Next
SelectSingleNode(String)
Dim node = htmldoc.DocumentNode.SelectSingleNode("//body")