Introduction to Information Retrieval
Penelusuran Informasi (Information Retrieval) Sumber: CS276: Information Retrieval and Web Search Pandu Nayak and Prabhakar Raghavan Taufik Fuadi Abidin
Web Crawling
Penelusuran Informasi (Information Retrieval)
Pembahasan Minggu Ini Web Crawling Cara Kerja Arsitektur
2
Penelusuran Informasi (Information Retrieval)
Sec. 20.2
Intro Web Crawling Dimulai dengan URL “seed” Fetch & parse URL tersebut Ekstrak URL tautan Insert ke dalam Queue
Baca URL dalam Queue satu per satu dan ulangi proses tersebut 3
Sec. 20.2
Introduction to Information Retrieval
Ilustrasi dari Web Crawling
URLs crawled and parsed Unseen Web Seed pages
URLs frontier
Web 4
Penelusuran Informasi (Information Retrieval)
Sec. 20.1.1
Gambaran Sederhana Web Crawling Web crawling tidak ditangani oleh 1 mesin Semua proses dilakukan secara terdistribusi
Harus mampu menangani Halaman Spam Jebakan Spider (halaman yang dinamis)
Juga tantangan-tantangan berikut: Latency/bandwidth ke server tujuan berbeda-beda Seberapa dalam akan di-crawl Menangani halaman ganda (duplicate pages)
Sopan (Politeness) – don’t hit a server too often 5
Penelusuran Informasi (Information Retrieval)
Sec. 20.1.1
Apa yang harus dilakukan Crawler? Sopan (Polite): Respect implicit and explicit politeness considerations Hanya halaman yang diizinkan di crawl Respect robots.txt
Harus tangguh (Robust): Be immune to spider traps and other malicious behavior from web servers 6
Sec. 20.1.1
Introduction to Information Retrieval
Ilustrasi dari Web Crawling (Update)
URLs crawled and parsed Unseen Web Seed Pages URL frontier Crawling thread
7
Penelusuran Informasi (Information Retrieval)
Sec. 20.2
URL Frontier Dapat menerima halaman-halaman (lebih dari satu) dari host yang sama Namun hindari mengakses mereka pada waktu yang bersamaan Harus berusaha agar crawling threads busy
8
Penelusuran Informasi (Information Retrieval)
Sec. 20.2
Explicit & Implicit Politeness Explicit politeness: ditentukan oleh webmaster menggunakan file robots.txt Implicit politeness: walaupun tidak ada robots.txt, usahakan agar server tidak diakses terlalu sering (bersamaan)
9
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.1
Contoh Robots.txt Tidak ada spider yang dapat mengunjungi URL yang diawali dengan "/yoursite/temp/", kecuali spider itu adalah “searchengine": User-agent: * Disallow: /yoursite/temp/ User-agent: searchengine Disallow: 10
Sec. 20.2.1
Penelusuran Informasi (Information Retrieval)
Langkah dalam Web Crawling Ambil URL dari URL frontier Ambil dokumen pada URL tersebut Parse dokumen tersebut Ekstrak URL tautan ke halaman lain
Periksa apakah URL itu kontennya sudah pernah ada Jika belum, masukkan dalam indeks
Untuk setiap URL yang diperoleh
crawl .edu saja dan patuh dengan robots.txt
Pastikan URL tersebut lulus filter tests Periksa apakah URL ada dalam URL frontier (eliminasi URL ganda) 11
Sec. 20.2.1
Introduction to Information Retrieval
Basic crawl architecture DNS
WWW
Doc
robots filters
URL set
Content seen?
URL filter
Dup URL elim
Parse Fetch
URL Frontier 12
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.2
DNS (Domain Name Server) Servis lookup di internet Diberikan sebuah URL, didapat alamat IP-nya DNS servis dilayani oleh sekumpulan server terdistribusi, sehingga lookup latency bisa tinggi
13
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.1
Parsing: URL Normalisasi Ketika konten sebuah dokumen di-parse, beberapa link yang ditemukan dapat berupa relative URLs Contoh: http://en.wikipedia.org/wiki/Main_Page memiliki relative link to /wiki/Wikipedia:General_disclaimer yang kontennya sama persis dengan URL sebelumnya http://en.wikipedia.org/wiki/Wikipedia:General_disclaimer
Selama parsing dilakukan, proses normalisasi (expanding URL) harus dapat dilakukan 14
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.1
Apakah Konten dijumpai Sebelumnya? Konten yang duplikasi banyak ditemukan di Internet Jika sebuah halaman yang baru saja dicrawl sudah ada dalam indeks maka halaman tersebut tidak diproses lagi Hal ini dapat dilakukan menggunakan document fingerprints atau shingles 15
Introduction to Information Retrieval
Sec. 20.2.1
Filters & robots.txt Filters – adalah regex untuk menentukan format URL yang ingin di-crawl atau tidak Jika file robots.txt dibaca pada situs, cukup dibaca sekali saja File robots.txt di-cache-kan
16
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.1
Eliminasi URL yang Ganda Cek apakah URL tersebut sudah pernah dijumpai dalam URL Fronteir sebelumnya Eliminasi jika sudah ditemui sebelumnya Jangan diproses lagi
17
Penelusuran Informasi (Information Retrieval)
Sec. 20.2.3
URL Frontier: Dua Pertimbangan Utama Politeness: jangan akses server terlalu sering Freshness: crawl beberapa halaman lebih sering dari pada halaman yang lain, misalnya portal berita dan lain-lain yang updatenya cepat
18