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.

Crawling adalah aplikasi script program untuk melakukan scan kesemua halamandi  internet dan dibuatkan index untuk data yang di carinya.

Nama lain untuk web crawl adalah web spider, web robot, bot, crawl dan automatic indexer.

Search engine menggunakan web crawl untuk mengumpulkan informasi mengenai apa yang ada di halaman-halaman web publik. Tujuan utamanya adalah mengumpukan data sehingga ketika pengguna Internet mengetikkan kata pencarian di komputernya, search engine dapat dengan segera menampilkan web site yang relevan.

Web crawl bisa beroperasi hanya sekali, misalnya untuk suatu projek yang hanya sekali jalan, atau jika tujuannya untuk jangka panjang seperti pada kasus search engine, mereka bisa diprogram untuk menyisir Internet secara periodik untuk menentukan apakah sudah berlangsung perubahan signifikan. Jika suatu situs mengalami trafik sangat padat atau kesulitan teknis, spider atau crawl dapat diprogram untuk mencatat hal ini dan mengunjunginya kembali setelah kesulitan teknis itu terselesaikan.

Secara sederhana proses Web Crawling dapat dijelaskan sebagai berikut; Diberikan sekumpulan URL yang disebut dengan seed set, kemudian secara multi-thread Web Crawler mulai dengan memilih salah satu URL di seed set tersebut. Selanjutnya Web Crawler mengunduh halaman web yang diacu oleh URL dan melakukan parsing. Isi halaman web yang merupakan konten (biasanya berupa teks) dipisahkan dari link yang terdapat di halaman itu. Teks yang telah dipisahkan diteruskan ke modul bernama text indexer yang nantinya akan melakukan indexing dan membentuk query. Sementara itu link yang telah dipisahkan dipindahkan ke URL Frontier, sebuah wadah yang berisi kumpulan URL yang berkorespondensi dengan halaman web utama. Dengan kata lain URL Frontier adalah sebuah sub seed set. Keseluruhan proses Web Crawling akan berulang secara rekursif. Suatu saat URL yang tersimpan di URL Frontier akan diambil dan ditelusuri lebih lanjut, dan pada akhirnya disimpan kembali untuk keperluan Web Crawling berkelanjutan di masa depan.

Algoritma dasar

Tahapan pembuatan crawling dengan menggunakan aplikasi VB.Net

User Interface Form :

Keterangan :

Jenis Komponen

Nama

Text

Form

Form1

Form1

Button

Button1

Button1

TextBox

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