Cara Mengikis Data dalam 5 Langkah Mudah

Diterbitkan: 2020-02-17
Daftar Isi menunjukkan
Cara Mengikis data dengan 5 cara mudah
1. Pilih Bahasa Pemrograman atau Alat untuk Pengikisan Data
2. Menggores Halaman Web Tunggal dan Menganalisis Komponen
3. Tentukan Strategi Pembersihan dan Penyimpanan Data
4. Buat Daftar Halaman Web atau Tulis Regex Untuk Pengikisan Data
5. Tulis Kode dan Tes
Metode pengikisan data alternatif
Gunakan fungsi Filter Excel untuk mengikis data
Gunakan fungsi Text-to-Columns di Microsoft Word untuk memisahkan data berdasarkan kolom
Gunakan IMPORTXML di lembar Google
Gunakan IMPORTHTML di Google Spreadsheet
Menggunakan ekstensi chrome
Kesimpulan

Seberapa sering Anda perlu mengikis data dari situs web untuk pekerjaan Anda dan sepertinya terlalu merepotkan? Posting blog ini akan mengajarkan Anda cara mengikis data dalam 5 langkah mudah.

Posting ini ditulis untuk profesional perangkat lunak yang perlu mengekstrak data dari halaman web atau PDF dan ingin prosesnya secepat dan semudah mungkin. Ada banyak cara untuk mengikis data tetapi artikel ini akan fokus pada beberapa metode paling populer yang digunakan oleh pengembang profesional: XPath, Regular Expressions, Beautiful Soup (BSA), Scrapy, Python Requests Library (PRL) dan Selenium Webdriver. Alat pengikis ini semuanya dapat dengan mudah dipasang dengan instruksi yang disediakan untuk masing-masing alat. Tabel yang merangkum alat-alat ini disertakan di bawah yang menjelaskan pro/kontra dan tautannya untuk informasi lebih lanjut tentang alat-alat tersebut jika berlaku. Tabel tersebut mencakup beberapa metode lain yang tidak terlalu populer yang juga telah saya coba dan disertakan untuk kelengkapannya.

Menggores data di situs web dapat dilakukan dengan bahasa apa pun. Pada artikel ini, saya akan mendemonstrasikan cara mengikis data menggunakan Python karena sangat mudah dipasang dan cukup mudah dipelajari terutama jika Anda sudah mengetahui bahasa pemrograman lain karena sintaksnya mirip dengan Java, C dan PHP. Python mendukung beberapa perpustakaan untuk menggores data yang dijelaskan dalam tabel. Scraping adalah alat yang harus diketahui semua orang cara menggunakannya karena memberikan wawasan berharga tentang target pasar, pesaing, dan/atau pelanggan Anda.

Pengikisan web dapat membantu Anda mengekstrak berbagai jenis data. Anda dapat merayapi daftar real estat , data hotel , atau bahkan data produk dengan harga dari situs web eCommerce dengan menulis beberapa baris kode. Tetapi jika Anda akan merayapi web dan mengekstrak data, Anda perlu memperhatikan beberapa hal. Penting untuk memastikan bahwa data yang tergores dalam format yang dapat digunakan. Kode Anda dapat mengekstrak data dari beberapa situs web. Data yang diekstraksi bersih dan tidak memberikan hasil yang salah saat menjalankan algoritma. Karena itu, jika Anda ingin menulis kode atau membuat proyek pengikisan web kecil untuk merayapi data dari situs web, Anda dapat melakukannya dalam lima langkah sederhana.

5 cara mudah untuk mengikis data

Cara Mengikis data dengan 5 cara mudah

1. Pilih Bahasa Pemrograman atau Alat untuk Pengikisan Data

"Seorang pria sebaik alatnya". Oleh karena itu, Anda perlu memilih alat untuk pengikisan web dengan cara yang sesuai dengan kebutuhan Anda. Meskipun beberapa perangkat lunak siap pakai mungkin tampak mudah digunakan, mereka mungkin tidak mengizinkan Anda membuat banyak perubahan konfigurasi. Pada saat yang sama, banyak alat mungkin tidak memiliki plugin untuk menyimpan data yang Anda gores di database atau di cloud. Ketika datang ke bahasa pemrograman yang digunakan untuk menggores data hari ini, ada Node.js, Python, Ruby dan banyak lagi. Tetapi di antara ini, Python adalah yang paling populer berkat kurva belajarnya yang lebih mudah, sintaksis yang sederhana, ketersediaan beberapa perpustakaan eksternal dan bahasanya yang open source.

Ada beberapa perpustakaan seperti BeautifulSoup dan Scrapy yang dapat digunakan untuk merayapi halaman web, membuat laba-laba perayapan web, dan menjalankan pekerjaan pengikisan pada interval waktu tertentu. Python memungkinkan fleksibilitas luar biasa dalam hal mengintegrasikan sistem lain dengan mesin pengikis Anda. Anda dapat dengan mudah menyimpan data yang tergores di mesin lokal Anda, di database, di S3 Storage , atau bahkan membuangnya ke file Word atau Excel .

2. Menggores Halaman Web Tunggal dan Menganalisis Komponen

Sebelum Anda menggali informasi produk dari katakanlah seribu halaman produk di Amazon , Anda perlu mengakses halaman dan mendapatkan seluruh halaman Html untuk menganalisisnya dan memutuskan strategi. Data di halaman Html dapat berada dalam pasangan nilai kunci tertentu dalam tag atau teks di dalam tag. Anda dapat menggunakan pustaka seperti BeautifulSoup untuk menentukan tag persis mana yang ingin Anda ekstrak datanya dari setiap halaman web dan kemudian menjalankan kode secara berulang. Dengan cara ini, untuk setiap halaman web produk, kode Anda akan berjalan dan mengekstrak informasi yang sama - katakanlah, detail harga.

3. Tentukan Strategi Pembersihan dan Penyimpanan Data

Bahkan sebelum Anda mulai menggores data, Anda harus memutuskan di mana Anda akan menyimpan data. Ini karena cara Anda memproses data akan tergantung di mana Anda akan menyimpannya. Ada beberapa pilihan yang tersedia. Anda dapat memilih antara database NoSQL dan SQL, tergantung pada apakah data yang Anda gores akan terstruktur atau tidak terstruktur. Untuk data tidak terstruktur, Anda dapat memilih database SQL karena Anda dapat menyimpan data dalam baris yang terdiri dari sekumpulan atribut. Untuk data tidak terstruktur, di mana tidak ada atribut yang ditetapkan, Anda bisa menggunakan database NoSQL. Dalam hal database apa untuk menyimpan data, untuk SQL Anda dapat memilih MySQL atau Postgres. Amazon RDS menawarkan database on-the-cloud tempat Anda dapat menyimpan data dan membayar berdasarkan penggunaan.

Untuk NoSQL, Anda dapat memilih salah satu dari solusi mereka yang terkelola sepenuhnya dan sangat cepat, seperti DynamoDb atau ElasticSearch . Basis data yang berbeda memiliki keunggulan yang menawarkan pengambilan cepat, beberapa menawarkan penyimpanan yang lebih murah per TB . Basis data yang Anda pilih bergantung pada kasus penggunaan spesifik Anda dan karenanya. Beberapa penelitian diperlukan tentang ini sebelum Anda memutuskannya. Jika Anda perlu menyimpan gambar dan video tergores yang berukuran besar, Anda dapat menggunakan AWS S3 atau Glacier . Yang terakhir digunakan ketika Anda ingin menyimpan sejumlah besar data dalam format yang diarsipkan. Anda tidak perlu sering mengakses sementara yang pertama adalah solusi yang lebih sering digunakan. Ini bertindak sebagai sesuatu seperti hard drive online. Anda dapat membuat folder dan menyimpan file di dalamnya.

Strategi Pembersihan Data

4. Buat Daftar Halaman Web atau Tulis Regex Untuk Pengikisan Data

Meskipun Anda dapat menguji kode Anda pada satu halaman web, Anda pasti ingin merayapi puluhan atau ratusan halaman karena itu Anda melakukan proyek ini. Biasanya, jika Anda akan merayapi beberapa halaman web, Anda dapat menyimpan tautan dalam larik dan mengulanginya saat menggores halaman. Solusi yang lebih baik dan lebih sering digunakan adalah dengan menggunakan regex . Sederhananya, ini adalah cara terprogram untuk mengidentifikasi situs web dengan struktur URL yang serupa.

Misalnya, Anda mungkin ingin merayapi data produk dari semua laptop di Amazon. Sekarang Anda mungkin melihat bahwa semua URL dimulai dengan “ www.amazon.com/laptop/ <laptopModelNo>/prodData”. Anda dapat mereplikasi format ini menggunakan regex sehingga semua URL tersebut diekstraksi dan fungsi scraping web Anda hanya berjalan pada URL ini . Dan tidak semua URL di situs web Amazon. Jika Anda memiliki terlalu banyak laman web untuk dirayapi, sebaiknya gunakan pendekatan pemrosesan paralel untuk merayapi sekitar sepuluh laman web setiap saat . Jika Anda menggores halaman web dan mengekstrak tautan darinya, dan kemudian menggores halaman web yang mengarah ke tautan tersebut, maka Anda dapat menggunakan pendekatan seperti pohon untuk merayapi beberapa halaman anak yang muncul dari halaman web root secara bersamaan.

ekspresi reguler

5. Tulis Kode dan Tes

Semua yang kita bahas sampai sekarang adalah persiapan. Untuk tindakan terakhir menjalankan kode dan menyelesaikan pekerjaan. Kode pengikisan web jarang berfungsi persis seperti yang Anda harapkan. Ini karena tidak semua halaman web yang Anda coba jelajahi memiliki struktur yang sama. Misalnya, Anda menjalankan kode pengikisan pada 100 halaman produk dan hanya menemukan 80 di antaranya telah dihapus. Alasan di balik ini adalah bahwa 20 halaman mungkin dalam keadaan kehabisan stok dan struktur halaman webnya berbeda. Pengecualian seperti itu tidak akan diperhitungkan saat Anda menulis kode. Tetapi setelah beberapa iterasi, Anda dapat membuat perubahan yang diperlukan. Dan ekstrak data dari semua halaman web yang Anda butuhkan.

Tes Kode

Metode pengikisan data alternatif

Gunakan fungsi Filter Excel untuk mengikis data

Ini adalah cara termudah untuk mengikis data dari halaman web mana pun. Ini tidak memerlukan alat tambahan kecuali Excel dan tidak akan meninggalkan jejak di situs web target Anda atau sistem Anda yaitu tidak ada panggilan API yang dibuat, tidak ada cookie yang disetel, dll. Jika Anda memiliki akses ke PC/Mac dengan Excel yang terinstal maka sejauh ini cara termudah untuk mengikis data.

Bagaimana itu bekerja

Di Excel, buka lembar baru dan tulis URL situs web target Anda di sel pertama (mis. http://www.joes-hardware-store.com/). Di sel berikutnya, masukkan rumus Filter Data HTML atau XPath (lihat tabel di bawah untuk rumus Filter Data XPath yang digunakan dalam contoh ini) yang akan mengekstrak data dari halaman web target Anda. Jika Anda ingin mengikis beberapa kolom data, ulangi Langkah 1 untuk setiap kolom data dan letakkan berdampingan.

Cara mendapatkan Filter Data XPath di Excel

Di Excel, klik File > Opsi > Lanjutan lalu buka bagian Tampilan. Centang kotak di sebelah “Show Developer Tab in the Ribbon” lalu klik OK. Ini ditunjukkan pada tangkapan layar 1 di bawah ini:

Di Excel, klik Pengembang > Referensi lalu gulir ke bawah dan temukan Microsoft XML Document 3.0 (seperti yang ditunjukkan pada tangkapan layar 2 di bawah):

Klik pada MSXML3 Apress lalu klik OK (seperti yang ditunjukkan pada gambar 3 di bawah):

Sekarang setelah Referensi MSXML3 kita terinstal, mari kita coba. Di Excel, masukkan URL halaman web target Anda ke sel A1 dan kemudian rumus Filter Data XPath ke sel B1 (misalnya untuk mendapatkan harga item "123" di halaman web, masukkan rumus Filter Data XPath di sel B1 seperti yang ditunjukkan pada tangkapan layar 4 dan 5 di bawah):

Sekarang, salin konten sel B1 ke semua sel yang tersisa menggunakan pintasan CTRL+C Excel. Ini ditunjukkan pada tangkapan layar 6 di bawah ini:

Salin URL halaman web target Anda (di sel A1) ke bilah alamat Excel. Tekan Enter untuk memuatnya ke dalam browser dan melihat data Anda muncul secara ajaib di Excel

Seperti yang Anda lihat, ini adalah cara yang sangat efisien untuk menggores data. Tidak ada jejak yang tersisa di situs web target atau sistem Anda yaitu tidak ada panggilan API yang dilakukan, tidak ada cookie yang disetel, dll.

Gunakan fungsi Text-to-Columns di Microsoft Word untuk memisahkan data berdasarkan kolom

Metode ini sedikit lebih rumit daripada yang pertama tetapi dapat digunakan untuk mengikis data dari situs web mana pun yang memiliki kolom yang jelas. Ini membutuhkan MS Word dan Excel ditambah beberapa alat tambahan yang dijelaskan di bawah ini. Kabar baiknya adalah bahwa metode ini tidak meninggalkan jejak di situs web target Anda, jadi jika Anda menggores situs web untuk tujuan pemasaran dan ingin menghindari deteksi, metode ini bukan untuk Anda.

Bagaimana itu bekerja

Di MS Word, buat dokumen baru misalnya Alat Penggores Daftar Produk Toko Perangkat Keras Joe, lalu salin/tempel halaman web target Anda ke dalam kotak teks (lihat tangkapan layar 1 di bawah). Pilih fungsi Goto di MS Word dengan menekan CTRL + G lalu ketik persis <<!DOCTYPE HTML [ENTER]. Ini ditunjukkan pada tangkapan layar 2 di bawah ini:

Pilih fungsi Run di MS Word dengan menekan ALT + F5 (seperti yang ditunjukkan pada tangkapan layar 3) dan Anda akan melihat seperti ini (lihat tangkapan layar 4 di bawah):

Di Excel, pilih Filter > Text to Columns seperti yang ditunjukkan pada gambar 5 di bawah ini:

Pilih Delimited kemudian pilih pemisah delimited Anda dari menu drop down (untuk contoh ini kami menggunakan Comma yang dipilih secara default).

Sekarang, klik Berikutnya dan tentukan lokasi "koma" yaitu pisahkan data web Anda ke dalam kolom (misalnya saya menggunakan "," sebagai pemisah saya). Kemudian, klik Next dan tentukan bagaimana Anda ingin Excel menangani sel kosong yaitu mengabaikannya atau menggantinya dengan nilai kosong (untuk contoh ini kita akan menyetelnya ke "abaikan nilai kosong"). Kemudian, klik Finish untuk menyelesaikan fungsi Text-to-Columns.

Jika halaman web target Anda tidak memiliki kolom yang jelas, Anda mungkin ingin mengaturnya ke "Nilai Pengganti" seperti yang ditunjukkan pada tangkapan layar 6 di bawah ini:

Seperti yang Anda lihat dari tangkapan layar 7 di atas, data saya berhasil dipisahkan menjadi kolom teks individual dan sekarang saya dapat dengan mudah menyalin/menempelnya ke lokasi lain di komputer saya.

Metode ini sangat berguna untuk mengekstrak data dari file PDF yang biasanya memiliki judul kolom yang jelas. Ini akan menghemat banyak waktu jika tujuan Anda adalah mengekstrak data secara otomatis dari beberapa file PDF menggunakan makro Excel karena sekarang, Anda dapat menggunakan template MS Word yang sama berulang kali untuk membuat beberapa dokumen dengan cepat untuk setiap file PDF. 3. Gunakan Editor MS Excel VBA untuk mengikis data menggunakan

Untuk metode ini, kita akan menggunakan alat yang disebut xvba yang dapat diunduh dari sini dan berfungsi seperti API (Application Program Interface). Kabar baiknya adalah Anda tidak perlu menulis kode sama sekali. Berita buruknya adalah Anda harus mengetikkan HTML halaman web target Anda, yaitu saya sarankan melakukan ini menggunakan MS Word karena akan memaksa Anda untuk benar-benar memecah halaman web Anda menjadi komponen-komponennya (lihat tangkapan layar 1 di bawah).

Angka di dalam tanda kurung siku adalah sel individual pada spreadsheet di mana judul kolom dan baris digunakan sebagai nama untuk setiap bidang data. Mereka bertindak seperti variabel yaitu mereka diperlakukan sebagai teks oleh Excel dan akan berubah berdasarkan bagaimana spreadsheet Anda telah terstruktur (misalnya, jika Anda memilih kolom yang berbeda untuk menyaring data).

Gunakan IMPORTXML di lembar Google

Saat Anda menggunakan IMPORTXML untuk mengikis data dari halaman web, langkah pertama adalah Buka Google Spreadsheet . Langkah kedua adalah pergi ke Tools > Script Editor. Langkah ketiga adalah menyalin/menempelkan kode HTML situs web target Anda ke dalam kotak teks seperti yang ditunjukkan pada tangkapan layar 7 di bawah ini:

Seperti yang Anda lihat dari tangkapan layar 8 di atas, data saya berhasil dipisahkan menjadi kolom teks individual dan sekarang saya dapat dengan mudah menyalin/menempelnya ke lokasi lain di komputer saya. Kami telah menggunakan metode ini di masa lalu untuk mengikis data Facebook dan Twitter untuk kampanye pemasaran online. Ini juga merupakan cara yang baik untuk mengikis data dari situs web yang menggunakan AJAX ketika Anda tidak ingin menggunakan perintah GOTO.

Gunakan IMPORTHTML di Google Spreadsheet

Metode ini mirip dengan metode nomor 3, tetapi alih-alih menggunakan IMPORTXML , kita akan menggunakan IMPORTHTML . Langkah pertama adalah Buka Google Sheets. Langkah kedua adalah pergi ke Tools > Script Editor. Langkah ketiga adalah menyalin/menempelkan kode HTML situs web target Anda ke dalam kotak teks.

Menggunakan ekstensi chrome

Anda dapat mengikis data web menggunakan ekstensi chrome seperti Data Scraper dan Save To CSV. Karena ada versi gratis dan berbayar dari ekstensi chrome (Data Scraper), saya sarankan untuk memiliki keduanya untuk melihat mana yang bekerja lebih baik untuk Anda.

Kesimpulan

Menggores hingga beberapa ratus halaman (sambil memastikan Anda memberikan jeda beberapa detik di antara setiap proses). Mengikis situs web sebulan sekali akan berfungsi dengan baik dengan solusi DIY yang ditulis dengan Python. Tetapi jika Anda mencari solusi DaaS tingkat perusahaan, tim kami di PromptCloud menyediakan solusi ujung ke ujung di mana Anda memberi kami persyaratan dan kami memberikan Anda data yang kemudian dapat Anda pasang dan mainkan.

Infrastruktur, manajemen proxy, memastikan Anda tidak diblokir saat menggores data. Menjalankan mesin scraping pada frekuensi reguler untuk memperbarui data. Kami juga melakukan perubahan untuk mengakomodasi perubahan yang dibuat di UI situs web yang bersangkutan. Semuanya ditangani dalam solusi kami yang terkelola sepenuhnya . Ini adalah layanan berbasis cloud bayar per penggunaan. Ini akan memenuhi semua persyaratan pengikisan web Anda. Apakah Anda menangani startup, MNC atau Anda membutuhkan data untuk pekerjaan penelitian Anda. Kami memiliki solusi pengikisan data untuk semua.