Heritrix merupakan program web crawler/ webspider/ ant opensource yang dibangun pada basis pemrograman Java. Heritrix hanya dapat dijalankan dengan sistem operasi linux, walaupun ada beberapa developer yang telah memodifikasi heritrix agar dapat berjalan di sistem operasi windows, namun masih memiliki banyak kekurangan dan bug yang mengganggu. Heritrix menyajikan banyak sekali optional yang dapat digunakan untuk segala jenis keperluan web crawling
Tahap Instalasi:
- Download paket Heritrix dari sourceforge.net/projects/archive-crawler. Paket ini berupa file archive dengan nama heritrix-?.?.?.tar.gz
- Ekstrak file tersebut di dalam direktori Home
- Untuk menjalankan heritrix lakukan perintah berikut pada terminal linux:
% export HERITRIX_HOME=/PATH/TO/BUILT/HERITRIX
dimana PATH/TO/BUILT/HERITRIX adalah direktori file heritrix yang telah diekstrak,karena pada contoh kali ini kita mengekstraknya di direktori Home, perintah akan menjadi:
% export HERITRIX_HOME=home/user/heritrix-1.1.40
- Kemudian jalankan perintah:
% cd $HERITRIX_HOME
% chmod u+x $HERITRIX_HOME/bin/heritrix
% $HERITRIX_HOME/bin/heritrix –help
Apabila output diatas keluar, heritrix berhasil diinstal.
1. Menjalankan Web based User Interface:
a) UI berupa Local host hanya dapat diakses melalui komputer yang telah diinstall Heritrix terlebih dahulu.
b) Untuk memulai pemrosesan user interface digunakan perintah sebagai berikut
% $HERITRIX_HOME/bin/heritrix –admin=LOGIN:PASSWORD
c) Setelah perintah dijalankan, maka heritrix akan menampilkan link untuk mengakses halaman user interface serta username dan password awal untuk login
d) Buka halaman Web UI pada web browser. Lalu masukkan username dan password yang telah kita tentukan di awal
2. Setelah anda berhasil menjalankan web user interface dan log in, anda akan masuk ke dalam halaman web Console. Menu halaman dapat dilihat pada baris menu di bagian teratas halaman web. Halaman console inilah yang nantinya akan menampilkan status dan beberapa informasi mengenai proses Crawling yang sedang berjalan.
Tahap Konfiguras
Untuk memulai proses web crawling, pertama anda harus menentukan beberapa konfigurasi yang mengatur bagaimana proses web crawling akan dijalankan.
- Membuat “Job”
Job adalah suatu bentuk pekerjaan yang akan kita lakukan dalam Heritrix. Job merupakan kumpulan konfigurasi yang akan dijalankan pada saat proses crawling berlangsung. Untuk membuat dan mengatur job baru, kita masuk kedalam halaman job.
Active Job : menampilkan satu job yang sedang berjalan dan beberapa pilihan untuk mengubah pengaturan dan menu laporan (report)
Create New Job : menampilkan beberapa cara untuk membuat job baru.
Pending Job : list job yang mengantri untuk dijalankan. Job-job yang ada di list ini akan langsung dijalankan satu persatu ketika proses crawling yang sedang berlangsung telah selesai.
Completed Jobs : list job yang telah selesai dijalankan.
Untuk pertama kali membuat job, pilihlah menu “With Defaults” pada bagian “Create new Job.
Isilah Name dan Description sesuai dengan keinginan anda yang merupakan deskripsi dari job yang akan anda buat. Pada bagian seeds masukkan link url web yang anda inginkan untuk di crawl. Anda dapat memasukkan lebih dari satu url dengan menuliskan 1 url per baris. Untuk tahap ini saya menggunakan url Okezone.com sebagai contohnya.
- Menentukan Module
klik “Module” pada menu di baris paling bawah kiri untuk masuk ke halaman Module. Halaman ini menunjukkan daftar “prosesor” yang akan diaplikasikan pada setiap url pada saat crawling berlangsung. Ada beberapa bagian yang anda harus tentukan dalam pengaturan method.
Crawl Scope
Prosesor inilah yang nantinya akan menentukan apakah link url yang didapat dari sebuah seed termasuk dalam ruang lingkup sebuah crawl. Misalnya pada contoh ini, dari seed okezone.com didapatkan url iface.okezone.com . Crawl scope ini akan menentukan apakah url ini akan di crawl juga atau tidak. Untuk contoh kali ini kita menggunakan crawl scope dengan settingan default yaitu “org.archive.crawler.deciderules.DecidingScope” untuk mengubah pilihan crawl scope, pilihlah dari dropbox yang disediakan lalu klik tombol “change”
Frontier
merupakan suatu modul yang bertugas mengambil url-url dari seed yang di-crawl. Pada awalnya modul ini hanya berisikan satu url, yaitu url seed yang kita tentukan sebelumnya, kemudian frontier menggali url-url yang ditemukan pada seed tersebut dan menambahkannya pada daftar url yang akan diproses.
Processor Chains
Heritrix berjalan melalui runtutan proses. Setiap proses terdiri dari “prosesor-prosesor” yang memiliki tujuannya masing masing.
ñ Pre-processor chain: prosesor ini menangani suatu url sebelum isinya diambil. Prosesor ini bisa di umpamakan sebagai penentu terakhir apakah sebuah url termasuk didalam crawl scope. Untuk contoh kali ini saya menggunakan pre prosessor dengan seting “org.archive.crawler.prefetch.Preselector”
ñ Fetch Chain: bertugas untuk mengambil konten dari url yang ditemukan. Pada contoh kali ini saya menggunakan settingan awal yang telah disediakan.
ñ Extractor Chain: bertugas dalam ekstraksi outlink dari isi halaman yang di dapat pada setiap page.
ñ Writers Chain: bertugas dalam penulisan konten dan outlink dari sebuah url ke dalam file
ñ Post Processor Chain: memuat prosesor yang memroses setiap url yang melalui pre processor chain walaupun url tersebut tidak diekstrak. Untuk contoh kali ini saya menggunakan seting awal yang telah disediakan
ñ Statistic Processor:.bertugas untuk memantau progres dari sebuah crawl.
- Menentukan Sub Module
Klik menu Submodule yang berada disamping menu module:
Submodule memungkinkan kita untuk melakukan penambahan parameter yang lebih lanjut pada module yang telah kita pilih dibagian sebelumnya. Secara lebih spesifik, kita dapat memilih rules yang akan di pakai dalam Deciding Scope. Perlu diingat, Desiding scope menentukan apakah sebuah url berada dalam ruang lingkup sebuah crawl. Pada settingan awal rules sudah ditetapkan beberapa aturan utama yang umumnya selalu dipakai dalam proses crawling, jadi walaupun kita tidak menambahkan rule apapun, proses crawling akan tetap bisa berjalan dengan baik. Sebagai contoh, Kita juga dapat menambahkan rule yang mengizinkan semua url diproses kecuali yang memiliki loncatan url lebih dari 20. ini dapat dilakukan dengan menghapus semua default rule dan menambahkan rule berikut pada menu dropdown:
“org.archive.crawler.deciderules.AcceptDecideRule”
“org.archive.crawler.deciderules.TooManyHopsDecideRule”
Perhatikan bahwa urutan rule itu penting. Jika kita menukar urutan rule diatas maka AcceptDecideRule akan mengesampingkan semua url yang ditolak dari TooManyHopsDecideRule
- Menu Setting
Klik pada menu setting untuk menggali pengaturan crawling lebih dalam.
Pada pengaruran awal semua sudah diset secara baik oleh heritrix, namun kita harus mengganti beberapa settingan agar proses crawling dapat dilakukan dengan baik.
ñ Kurangi nilai RejectIfTooManyHops
ñ menjadi “5”.agar url yang diproses tidak terlampau jauh dari url seed yang kita inginkan
ñ Ganti value user-agent dan from
ñ pada bagian http headers sebagai identatis dari si pelaku crawling, misalnya untuk contoh kali ini saya menggunakan user agent dengan nama Mozilla/5.0 (compatible; heritrix/1.10.0
ñ +http://gunadarma.ac.id. Lalu isi kolom “from” dengan alamat email kita sebagai operator.
- Submit Job
Setelah semua pengaturan dirasa cukup, maka kita dapat menyimpan konfigurasi job kita dengan mengklik “submit job” yang terletak di menu paling kanan. Perhatikan bahwa job yang kita submit masuk kedalam list “Pending Jobs”. Dari sini kita bisa membuat job lain atau menjalankan job yang telah kita submit dengan masuk ke halaman Console yang terdapat dimenu paling kiri atas. Setelah masuk ke halaman console, klik “start” untuk menjalankan proses crawling. Lalu Console akan menampilkan progress dari crawling yang sedang berjalan.
Menganalisis Crawl
Heritrix menyediakan beberapa cara untuk menganalisa crawl. Dari halaman “Jobs” kita dapat melihat log file yang berisi proses apa saja yang telah dan sedang terjadi pada proses crawling. Kita juga dapat menganalisis laporan akhir dari sebuah crawling yang telah selesai dilakukan. Hasil report yang dibuat oleh heritrix sangat banyak dan mendetail, namun relatif mudah di pahami, jadi pada kali ini saya tidak akan menjelaskan satu persatu dari data report tersebut. Report yang disediakan pada heritrix terdiri dari crawl report, seed report. Frontier report processor report, toe-thread report dan logs .