Langsung ke konten utama

Cara Untuk Gain Hasil yang Diharapkan Dari Domino QQ ?

Dalam kurun waktu tersebut, judi online sangat digandrungi oleh hampir setiap orang di seluruh dunia terutama karena judi internet memberikan beberapa keuntungan bagi individu. Perjudian internet bukan hanya formulasi menghasilkan uang tetapi juga pengejaran menyenangkan yang sangat baik. Ada yang banyak mengintai permainan dalam komunitas online taruhan, termasuk, poker, dominoqq, roulette, baccarat, blackjack, dan bahkan lebih bahwa orang dapat menikmati di rumah mereka. Semua orang tahu, judi online sangat digemari masyarakat, namun di Indonesia memiliki kelompok penggemar tersendiri. Di Indonesia, banyak orang mengambil risiko dalam permainan judi setiap saat untuk mendapatkan uang. Tidak ada perbedaan antara game perjudian online ditambah pertandingan kasino darat, dan individu dapat membelanjakan uang untuk game perjudian online apa pun. Untuk pemula, taruhan online bisa jadi sulit karena taruhan online memiliki beberapa kelemahan, dan orang-orang yang mengenali semua prinsip dap...

Apache Nutch Crawl Script : Web Crawling hanya dengan Satu Command

Pada artikel Membangun Mesin Pencari dengan Kombinasi Apache Nutch, Elasticsearch, dan MongoDB telah dibahas secara singkat tentang apa itu Apache Nutch, apa itu Elasticsearch, dan Apa itu MongoDB.

Kemudian, pada artikel Crawling dan Indexing Berbasis Apache Nutch, Elasticsearch, dan MongoDB telah dijelaskan langkah-langkah website crawling menggunakan Apache Nutch yang meliputi 6 tahap dengan mengeksekusi 6 command Apache Nutch, yaitu: inject, generate, fetch, parse, updatedb, index. Telah disebutkan pula bahwa proses crawling yang meliputi 6 langkah ini tidak cukup hanya dilakukan satu kali untuk dapat meng-index seluruh isi website yang dijadikan target.

Beruntungnya, Apache Nutch juga dilengkapi dengan script yang dapat mempersingkat proses crawling dari 6 langkah menjadi satu langkah saja, yaitu dengan mengeksekusi perintah berikut:
hennywijaya$ runtime/local/bin/crawl urls/ webpage3 http://localhost:9300/nutch/ 3

Adapun arguments dari perintah diatas adalah:
1. urls adalah directory urls, yang berisi file seeds.txt.
2. webpage3 adalah crawling id, yang dapat berupa sembarang teks. Crawling id ini akan digunakan sebagai nama collection di database MongoDB yang memuat data hasil crawling.
3. http://localhost:9300/nutch/ adalah url yang menunjuk alamat server Elasticsearch dengan nomor port 9300 (BUKAN 9200), yang diikuti dengan nama index seperti yang tercantum pada file konfigurasi nutch-site.xml (dalam hal ini nama index-nya adalah nutch).
4. Angka 3 menunjukkan kedalaman crawling, yaitu berapa kali crawler tersebut harus mengulangi proses crawling terhadap website yang dijadikan target.

Jadi, syntax dari perintah/command untuk menjalankan scrpit crawling adalah:
bin/crawl <urls directory> <crawling id> <the url to the elasticsearch server with index name> <crawling depth>
Berikut adalah contoh eksekusi perintah crawling dengan menggunakan script crawl bawaan Apache Nutch:
Hennys-MacBook-Pro:apache-nutch-2.3.1 hennywijaya$ runtime/local/bin/crawl urls/ webpage7 http://localhost:9300/nutch/ 7

Injecting seed URLs
/Users/hennywijaya/nutch/apache-nutch-2.3.1/runtime/local/bin/nutch inject urls/ -crawlId webpage7
InjectorJob: starting at 2016-07-07 18:04:59
InjectorJob: Injecting urlDir: urls
InjectorJob: Using class org.apache.gora.mongodb.store.MongoStore as the Gora storage class.
InjectorJob: total number of urls rejected by filters: 1
InjectorJob: total number of urls injected after normalization and filtering: 2
Injector: finished at 2016-07-07 18:06:19, elapsed: 00:01:20
Thu Jul 7 18:06:19 JST 2016 : Iteration 1 of 7

Generating batchId
Generating a new fetchlist
/Users/hennywijaya/nutch/apache-nutch-2.3.1/runtime/local/bin/nutch generate -D mapred.reduce.tasks=2 -D mapred.child.java.opts=-Xmx1000m -D mapred.reduce.tasks.speculative.execution=false -D mapred.map.tasks.speculative.execution=false -D mapred.compress.map.output=true -topN 50000 -noNorm -noFilter -adddays 0 -crawlId webpage7 -batchId 1467882379-31716
GeneratorJob: starting at 2016-07-07 18:06:21
GeneratorJob: Selecting best-scoring urls due for fetch.
GeneratorJob: starting
GeneratorJob: filtering: false
GeneratorJob: normalizing: false
GeneratorJob: topN: 50000
GeneratorJob: finished at 2016-07-07 18:06:31, time elapsed: 00:00:10
GeneratorJob: generated batch id: 1467882379-31716 containing 4272 URLs

Fetching :
/Users/hennywijaya/nutch/apache-nutch-2.3.1/runtime/local/bin/nutch fetch -D mapred.reduce.tasks=2 -D mapred.child.java.opts=-Xmx1000m -D mapred.reduce.tasks.speculative.execution=false -D mapred.map.tasks.speculative.execution=false -D mapred.compress.map.output=true -D fetcher.timelimit.mins=180 1467882379-31716 -crawlId webpage7 -threads 50
FetcherJob: starting at 2016-07-07 18:06:32
FetcherJob: batchId: 1467882379-31716
FetcherJob: threads: 50
FetcherJob: parsing: false
FetcherJob: resuming: false
FetcherJob : timelimit set for : 1467893192722
Using queue mode : byHost
Fetcher: threads: 50
fetching http://images.detik.com/community/media/visual/2016/07/06/79502271-1ad6-4dca-8580-1093d1064e2d_43.jpg?w=350&q= (queue crawl delay=5000ms)
fetching http://food.detik.com/read/2016/07/06/122330/3248879/900/ini-trik-makan-enak-dan-sehat-saat-lebaran?mpfood (queue crawl delay=5000ms)
fetching http://sport.detik.com/sepakbola/ (queue crawl delay=5000ms)
fetching https://www.airbnb.com/s/Hawaii--United-States?type=villa (queue crawl delay=5000ms)
fetching http://oto.detik.com/indeks?otindeks (queue crawl delay=5000ms)
Fetcher: throughput threshold: -1
Fetcher: throughput threshold sequence: 5
fetching http://inet.detik.com/read/2016/07/06/123239/3248882/317/mau-jadi-premium-harga-xiaomi-tak-murah-lagi?mpinet (queue crawl delay=5000ms)
fetching http://apps.detik.com/ (queue crawl delay=5000ms)
fetching http://post.detik.com/formv1/js/actScript.php?id=298 (queue crawl delay=5000ms)
fetching http://wolipop.detik.com/mostpopular?utm_source=wp&utm_medium=nav%20more&utm_campaign=most%20popular/mostpopular (queue crawl delay=5000ms)
fetching http://detik.com/dapur/beriklan (queue crawl delay=5000ms)
fetching http://jalurmudik.detik.com/ (queue crawl delay=5000ms)
fetching http://finance.detik.com/read/2016/07/06/151555/3248942/1034/setelah-lebaran-pertamina-teken-kerja-sama-minyak-dengan-iran?mpfinance (queue crawl delay=5000ms)
fetching http://blog.detik.com/foto/38/mengoptimalkan-wisata-surabaya-melalui-sunday-sharing-surabaya-14 (queue crawl delay=5000ms)
...
...
...
Parsing http://wolipop.detik.com/thespotlight/busanalebaran
Parsing http://detik.com/dapur/beriklan
ParserJob: success
ParserJob: finished at 2016-07-07 21:10:02, time elapsed: 00:03:13

CrawlDB update for webpage7
/Users/hennywijaya/nutch/apache-nutch-2.3.1/runtime/local/bin/nutch updatedb -D mapred.reduce.tasks=2 -D mapred.child.java.opts=-Xmx1000m -D mapred.reduce.tasks.speculative.execution=false -D mapred.map.tasks.speculative.execution=false -D mapred.compress.map.output=true 1467882379-31716 -crawlId webpage7
DbUpdaterJob: starting at 2016-07-07 21:10:16
DbUpdaterJob: batchId: 1467882379-31716
DbUpdaterJob: finished at 2016-07-07 21:12:22, time elapsed: 00:02:06

Indexing webpage7 on SOLR index -> http://localhost:9300/nutch/
/Users/hennywijaya/nutch/apache-nutch-2.3.1/runtime/local/bin/nutch index -D mapred.reduce.tasks=2 -D mapred.child.java.opts=-Xmx1000m -D mapred.reduce.tasks.speculative.execution=false -D mapred.map.tasks.speculative.execution=false -D mapred.compress.map.output=true -D solr.server.url=http://localhost:9300/nutch/ -all -crawlId webpage7
IndexingJob: starting
Active IndexWriters :
ElasticIndexWriter
elastic.cluster : elastic prefix cluster
elastic.host : hostname
elastic.port : port (default 9300)
elastic.index : elastic index command
elastic.max.bulk.docs : elastic bulk index doc counts. (default 250)
elastic.max.bulk.size : elastic bulk index length. (default 2500500 ~2.5MB)


IndexingJob: done.


Demikian, proses crawling yang sejatinya terdiri atas 6 langkah, harus mengeksekusi 6 perintah secara berurutan ( inject, generate, fetch, parse, updatedb, index ), kini dapat dilakukan hanya dengan mengeksekusi satu perintah dengan menggunakan crawl script bawaan Apache Nutch.

Setelah proses crawling selesai, yakni data hasil crawling telah disimpan dan di-index, selanjutnya data tersebut dapat divisualisasikan menggunakan Kibana. Langkah-langkahnya sama dengan yang telah dijelaskan pada artikel (Crawling dan Indexing Berbasis Apache Nutch, Elasticsearch, dan MongoDB).

Ingat: apache-nutch-2.3.1 TIDAK kompatibel dengan elasticsearch-2.3.3 Kompatibilitas yang telah dikonfirmasi adalah apache-nutch-2.3.1 + elasticsearch-1.4.4 + kibana-4.1.8 + mongodb-3.2.1

Pada pengaturan default, links yang mengandung parameter query akan tidak dihiraukan atau disaring dan dibuang. Untuk dapat melakukan crawling terhadap urls yang mengandung parameter query, silakan lakukan pengaturan pada file conf/regex-urlfilter.txt dan tambahkan # pada permulaan setiap garis untuk menyatakan isi baris tersebut sebagai comment.
# skip URLs containing certain characters as probable queries, etc.
#-[?*!@=]

Selamat Mencoba!

Postingan populer dari blog ini

Teknologi Big Data Fundamental: Kelebihan Hadoop versi 2 dibanding Hadoop versi 1

Apa itu Apache Hadoop Apache Hadoop adalah software framework yang memungkinkan pemrosesan data berukuran besar secara terdistribusi dengan melibatkan berkluster-kluster komputer. Hadoop didesain untuk dapat bekerja secara efektif baik dalam skala terkecil yang hanya melibatkan satu server hingga skala besar yang memperkerjakan ribuan komputer dimana masing-masing komputer tersebut memfasilitasi komputasi dan penyimpanan data secara lokal. Untuk menjamin High Availability, Hadoop tidak menggantungkannya pada hardware yang digunakan, tetapi framework Hadoop itu sendiri telah didesain untuk dapat mendeteksi dan menangani gagal fungsi (failure) pada level/layer aplikasi. Framework Hadoop terdiri atas 4 komponen (modul) utama, sebagai berikut: 1. Hadoop Distributed File System (HDFS), adalah file-system terdistribusi yang memfasilitasi penyimpanan data secara terdistribusi dalam kluster komputer. 2. Hadoop MapReduce, adalah sebuah sistem yang ditujukan untuk memproses data berukuran besar ...

Penerapan Model Pemrograman MapReduce Menggunakan Java dan MongoDB untuk Mencari Mutual Friends ala Facebook

Pada artikel "Mengaplikasikan MapReduce untuk Mencari Mutual Friends ala Facebook" telah dijelaskan bagaimana menerapkan pola pemrograman MapReduce untuk mencari mutual friends atau friends in common pada hubungan pertemanan di jejaring sosial ala Facebook. Pada artikel ini akan dibahas implementasi atau penerapan pola pemrograman MapReduce tersebut menggunakan bahasa program Java dan database NoSQL MongoDB. Bagi yang masih asing dengan MongoDB, silakan menyimak artikel "MongoDB : Database NoSQL Berbasis Dokumen yang sedang Naik Daun di Era Big Data" untuk mengenal database berbasis dokumen MongoDB. Kemudian, untuk cara instal MongoDB dijelaskan dalam artikel "Web Crawling: Menyerap isi Website dan Membangun Mesin Pencari ala Google Menggunakan Apache Nutch, Elasticsearch, dan MongoDB-bagian 2/3". Jadi, disini kita akan langsung mulai mengoperasikan MongoDB melalui Mongo Shell dan dengan menggunakan bahasa program Java melalui MongoDB Java Driver. Pada con...