Mohon tunggu...
Jalaludin Emilove
Jalaludin Emilove Mohon Tunggu... karyawan swasta -

Praktisi IT yang berorientasi pada aplikasi berbasis ERP. (Navision & Axapta) dan juga Sharepoint 2010. Mengajar sebagai Dosen di salah satu perguruan tinggi swasta. Memiliki istri tercinta Nyimas Hilmiyati,SPd dan 6 anak , Jasmine, Dinda, Lubnaa, Tan Haqi, Tan Ali dan Thalia.

Selanjutnya

Tutup

Nature

Membuat Web Crawling

12 Agustus 2014   20:52 Diperbarui: 4 April 2017   16:21 5824
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

TextBox1

ListBox

ListBox1

Deklarasi.

Setelah selesai dengan design UI, dilanjutkan dengan membuat codenya, bukalah code designer dari Form1, kemudian ikuti imports item dan deklarasi seperti pada contoh berikut :

Code Form1

Imports System.Net

Imports System.IO

Imports System.Text.RegularExpressions

Public Class Form1

Dim LinkCollection As New Collection

Dim Depth As Integer = 5

Private Const Regex_Href_Code As String = "hrefs*=s*(?:""(?[^""]*)""|(?S+))"

End Class

Depth dengan nilai 5, variable ini berguna untuk membatasi kedalaman penelusuran link

Method ProcessLinkCollection.

Method ini akan digunakan untuk melakukan proses terhadap link - link yang diekstrak dari sebuah halaman web, berikut code nya :

Private Sub ProcessLinkCollection()

Depth = -1

For Each item In LinkCollection

LinkCollection.Remove(item)

ReadPageContent(item, TextBox1.Text)

Application.DoEvents()

Next

End Sub

Method ExtractURL.

Method ini digunakan untuk melakukan pemeriksaan terhadap conten web dan mengekstrak link - link yang terdapat pada halaman tersebut dan menyimpannya dalam sebuah object collection, berikut code nya :

Function ExtractURL(Content As String, URL As String) As Collection Dim UrlCollection As New Collection Dim BaseURI As New Uri(URL) Dim HrefRegex As New Regex(Regex_Href_Code, RegexOptions.IgnoreCase Or RegexOptions.Compiled) Dim HrefMatch As Match = HrefRegex.Match(Content) Do While HrefMatch.Success = True Dim Link As String = HrefMatch.Groups(1).Value If Link.Substring(0, 1) <> "#" Then Dim Absolute As Boolean = False If Link.Length > 8 Then UrlCollection.Add(Link) End If End If HrefMatch = HrefMatch.NextMatch Loop Return UrlCollection End Function

Method ReadPageContent.

Method ini merupakan method utama yang berguna untuk melakukan web request dan membaca conten page serta menyimpan link - link yang terdapat pada halaman yang di-request, selanjutnya method ini akan menampilkan link - link yang cocok dengan kriteria pencarian, berikut codenya :

Sub ReadPageContent(URL As String, SearchedText As String)

Dim BaseURI As New Uri(URL)

Dim PageContent As String = String.Empty

Try

Dim PageRequest As HttpWebRequest = CType(WebRequest.Create(BaseURI), HttpWebRequest)

Dim PageResponse As HttpWebResponse = PageRequest.GetResponse

Dim PageReader As New StreamReader(PageResponse.GetResponseStream)

PageContent = PageReader.ReadToEnd

LinkCollection = ExtractURL(PageContent, URL)

PageReader.Close()

If PageContent.Contains(SearchedText) = True Then

If Not ListBox1.Items.Contains(URL) Then ListBox1.Items.Add(URL)

Application.DoEvents()

End If

For Each item In LinkCollection

If Not ListBox1.Items.Contains(item) Then ListBox1.Items.Add(item)

Application.DoEvents()

Next

If Depth > 0 Then

ProcessLinkCollection()

End If

Catch ex As Exception

End Try

End Sub

Method Button1_Click.

Method ini adalah event triger untuk object button satu yang telah kita buat sebelumnya, berikut codenya :

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

ReadPageContent("https://www.google.com/search?q=" & TextBox1.Text, TextBox1.Text)

End Sub

Sumber : http://surya-pradhana.blogspot.com/2014/01/membuat-web-crawler-sederhana-dengan.html

HALAMAN :
  1. 1
  2. 2
Mohon tunggu...

Lihat Konten Nature Selengkapnya
Lihat Nature Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun