Parser Class dari Htmlparser

II. Menangkap Situs, memindahkan konten dari web ke disk lokal III. Sensor, menghapus kata-kata menyinggung dan frasa dari halaman IV. cleanup HTML, mengoreksi halaman yang salah V. iklan removal, excising referensi URL iklan VI. konversi ke XML, memindahkan halaman web yang ada ke XML Dari penjelasan diatas, operasi pada node dapat menyelesaikan tugas-tugas banyak tranformasi yang kemudian dapat menjadi output dengan metode toHtml. Tergantung pada tujuan aplikasi yang dibuat, mungkin akan ingin melihat ke dalam decorator node, pengunjung, atau tag kustom dalam hubungannya dengan PrototypicalNodeFactory tersebu

2.4.1 Class dari Htmlparser

2.4.1.1 Parser

Parser adalah kelas utama dari library HTML Parser. Disini menyediakan konstruktor yang mengambil String, URL Connection, atau lexer. Dalam kasus String, cek dan lihat jika pertama kali karakter non- spasi adalah , maka diasumsikan HTML. Jika tidak dilakukan untuk membuka sebagai URL, dan jika gagal maka itu dianggap sebagai file disk local. Jika ingin mengurai sebuah String setelah menggunakan konstruktor no-args, gunakan setInputHTML. Atau dapat menggunakan createParser . Parser menyediakan akses ke isi halaman, melalui NodeIterator, sebuah NodeList atau NodeVIsitor. Contoh penggunaan parser adalah Parser parser = Parser baru http:whatever; daftar NodeList = parser.parse null; Lakukan sesuatu dengan daftar node. Jenis node dan apa yang harus dilakukan tergantung pada konfigurasi, namun secara umum node dapat diubah kembali menjadi HTML dan children node terlampir dan parent dapat diperoleh dengan node bersarang. Lihat antarmuka node. Misalnya, jika URL berisi : Misalnya, jika URL berisi: dan contoh kode diatas digunakan, hanya berisi daftar satu elemen, node html. Node ini adalah tag, yang merupakan objek class Html disertakan NodeFactoryPrototypicalNodeFactory a. untuk mendapatkan konten lebih lanjut, children dari node tingkat atas harus diperiksa. Ketika menggali melalui daftar node seseorang harus sadar akan kemungkinan spasi antara node, misalnya pada contoh diatas Akan mencetak lima, bukan dua, karena ada baris baru setelah html, head and body adalah children simpul HTML selain html head title Senin - Apa ide yang buruk . judul Head body BGCOLOR=FFFFFF Kebanyakan orang memiliki kebencian patologis Senin ... Body Html Node node = list.elementAt 0; sublist NodeList = node.getChildren ; System.out.println sublist.size ; head dan body node. Karena pemrosesan node begitu umum, dua interface disediakan untuk memudahkan tugas ini, filters dan visitors Adapun kelas lainnya dalam Htmlparser adalah : a. Node List : Kelas ini menampung node b. TagNameFilter : Kelas ini menerima semua tag yang cocok dengan nama tag. c. SimpleNodeIterator : Interface ini berguna saat menggunakan Vektor HTMl, untuk menghitung melalui unsur – unsurnya secara sederhana, tanpa perlu melakukan class casts untuk node. d. Node : Menentukan persyaratan minimum untuk pengembalian node oleh lexer atau parser. Ada tiga jenis node dalam HTML: teks, ucapan dan tag. Jika ingin menentukan node sendiri harus ada pengembalian dari lexer atau parser, tetapi masing – masing jenis harus mendukung interaface ini. Syarat antarmuka yang lebih spesifik untuk jenis node yang ditentukan oleh teks, catatan dan antarmuka tag. 1 Method toPlainTextString : Sebuah representasi string dari node. Ini merupakan metode yang penting, hal itu memungkinkan tranformasi string sederhana dari suatu halaman web, tanpa simpul. Untuk Teks node ini jelas isi dari teks itu sendiri. Untuk Catatan node ini adalah isi dari catatan contentsic. Untuk tag ini adalah isi teks untuk childrenjika ada. Karena beberapa node digabungkan ketika menampilkan halaman dalam browser, ini tidak akan mencerminkan penglihatan pengguna. kode aplikasi hanya untuk mengekstraksi teks dari sebuah halaman web adalah: 2 Method toHtml : Pengembalian HTML untuk node ini. Ini harus urutan karakter yang dihadapi oleh parser yang menyebabkan pembuatan node. Dimana ini rusak adalah di mana node rusak tag dan remarks telah ditemukan dan diperbaiki. Aplikasi mereproduksi html dapat menggunakan metode ini pada node yang harus digunakan atau dialihkan karena mereka diterima atau diciptakan. 3 Method toString : Pengembalian representasi string dari node. Nilai kembali mungkin bukan seluruh isi dari node, dan karakter non-printable mungkin dengan kata lain agar dapat terlihat. Hal ini biasanya digunakan dengan cara : System.out.println node; 4 Method CollectInto : Kumpulkan node ini dan anaknya ke dalam daftar, node yang disediakan memenuhi kriteria penyaringan. Mekanisme ini memungkinkan kode penyaringan yang kuat yang akan ditulis sangat mudah, tanpa mengganggu tentang koleksi tag tertanam secara terpisah. umpamanya ketika kita mencoba untuk mendapatkan semua link pada halaman, tidak mungkin untuk mendapatkannya pada tingkat-atas, seperti banyak tag seperti bentuk tag, bisa berisi link tertanam di dalamnya. Kita bisa mendapatkan link keluar dengan memeriksa apakah simpul saat ini for Enumeration e = parser.elements ; e.hasMoreElements ; or do whatever processing you wish with the plain text adalah CompositeTag, dan akan melalui anak-anaknya. Jadi metode ini memberikan cara mudah untuk melakukan hal ini. Menggunakan collectInto , program mendapatkan banyak lebih pendek. Sekarang, kode untuk mengekstrak semua link dari halaman akan terlihat seperti: Dengan demikian, daftar akan memegang semua node link, terlepas dari seberapa dalam link yang tertanam.Cara lain untuk mencapai tujuan yang sama adalah: NodeList list = new NodeList ; NodeFilter filter = new TagNameFilter A; for NodeIterator e = parser.elements ; e.hasMoreNodes ; e.nextNode .collectInto list, filter; NodeList list = new NodeList ; NodeFilter filter = new TagClassFilter LinkTag.class; for NodeIterator e = parser.elements ; e.hasMoreNodes ; e.nextNode .collectInto list, filter; 21

BAB 3 PERANCANGAN SISTEM

Pada bab ini akan dibahas mengenai perancangan sistem mulai dari desain database sampai desain diagram-diagram UML-nya. Sebelum menginjak ke bagian pertama, perlu diketahui bahwa perangkat lunak ini sendiri terdiri dari empat bagian, yaitu .

3.1 Gambaran Umum Sistem

Perangkat lunak yang akan di buat terdiri dari tiga bagian, yaitu administrator, client dan agent. Administrator mengatur segala hal yang berhubungan dengan inserting, updating dan deleting data ke database. Aplikasi inilah yang akan menangani data – data baru yang akan masuk ke sistem. Seperti situs baru, alamat URL dan sebagainya. Demikian juga jika ada perubahan maupun penghapusan terhadap database. Client merupakan aplikasi bagi pengguna berisi antarmuka untuk membaca dan mencari berita. agent berfungsi sebagai agen yang bertugas mengambil berita secara otomatis dan menyimpannya ke dalam database setelah mendapatkan berita dari situs berita atau website berita yang dicari. Fungsi - fungsi yang digunakan client umumnya yang berhubungan dengan akses ke database, dan fungsi – fungsi untuk parsing filtering data dari suatu halaman website. Gambar di bawah ini menunjukkan gambaran umum sistem :