Pengikisan web Google Spreadsheet bisa menjadi teknik yang efektif. Meskipun sebagian besar cara pengikisan web mengharuskan Anda menulis kode, pengikisan web dengan Google Spreadsheet tidak memerlukan pengkodean atau add-on. Yang perlu Anda lakukan adalah menggunakan fungsi bawaan Google Sheets. Dengan demikian, ini berfungsi sebagai pengikis web dasar Show
Panduan ini akan menunjukkan cara mengikis data situs web dengan Google Sheets dengan contoh praktis. Mengimpor XML dan HTMLIMPORTXML adalah fungsi yang mengimpor data dari berbagai tipe data terstruktur. Anda dapat menggunakannya untuk mengikis data tidak hanya dari dokumen XML tetapi juga dari dokumen HTML. Tipe data terstruktur lainnya yang didukung oleh rumus IMPORTXML adalah Comma Separated Values (CSV), Tab Separated Values (TSV), Really Simple Syndication (RSS), dan feed Atom XML Bagaimana IMPORTXML bekerjaFungsi IMPORTXML memerlukan dua parameter—URL halaman yang akan diperiksa dan kueri XPath Jika Anda ingin melihat dokumentasi resmi, klik di sini. Namun, artikel ini akan menjelaskan IMPORTXML dan beberapa fungsi terkait lainnya secara mendetail. Mari kita lihat beberapa contoh untuk membantu kita memahami fungsi IMPORTXML sedikit lebih baik Untuk mengekstrak elemen judul dari https. //kutipan. mengikis. com/ halaman web, rumusnya adalah sebagai berikut
Seperti yang terlihat di sini, parameter pertama adalah URL situs web, dan parameter kedua adalah kueri XPath. Perhatikan juga bahwa Anda perlu mengapit kedua parameter dalam tanda kutip kecuali jika ini adalah referensi ke sel lain Anda dapat membuat kueri XPath langsung dari browser. Buka halaman web di browser pilihan Anda, klik kanan elemen yang ingin Anda ekstrak, dan pilih Inspeksi. Anda akan melihat alat pengembang terbuka dengan elemen HTML yang disorot. Klik kanan HTML elemen yang disorot, lalu pilih Salin dan pilih Salin XPath. Tindakan ini menyalin XPath dan menyimpan elemen tersebut ke clipboard Anda Menyalin XPath elemen Mari kita lihat satu contoh lagi. Jika Anda ingin mengekstrak kutipan pertama dari halaman web, rumusnya adalah sebagai berikut _Jika kueri XPath ini tampak seperti sesuatu yang tidak Anda sukai, sebaiknya baca bagian XPath di blog kami untuk mempelajari lebih lanjut tentang menulis kueri XPath. Atau, Anda dapat memasukkan URL dalam sel. Misalnya, jika Anda memasukkan URL di sel A1 dan XPath di sel A2, rumus Anda akan merujuk ke sel tersebut sebagai berikut Pengenalan XPath cepatIMPORTXML hanya berfungsi dengan XPath. Bagian ini memberi Anda ikhtisar singkat tentang XPath, yang cukup untuk mulai menggunakan rumus IMPORTXML. Jika Anda memiliki HTML di mana tag body berisi h1 secara langsung, Anda dapat menggunakan XPath berikut untuk menemukan elemen h1 ini Garis miring di awal ekspresi XPath mewakili dokumen. Kita dapat membaca XPath di atas sebagai berikut
Jika Anda ingin mencocokkan semua tag h1, Anda dapat membuat Xpath ini lebih pendek sebagai berikut Dua garis miring ke depan berarti mencocokkan semua keturunan. Ekspresi XPath ini akan cocok dengan semua elemen h1 yang ditemukan di manapun dalam dokumen. Selanjutnya, untuk mengekstrak teks yang terdapat pada elemen h1, Anda dapat menggunakan fungsi text() Dimungkinkan juga untuk mengekstraksi nilai atribut apa pun. Misalnya, jika Anda ingin mengekstrak nilai atribut kelas dari tag h1, XPath akan menjadi sebagai berikut Seperti yang Anda lihat, untuk bekerja dengan atribut, Anda harus mengawali karakter @ Mari kita lihat pemfilteran. Misalnya, bagaimana jika Anda hanya ingin mendapatkan elemen h1 dengan menerapkan kelas bernama pdp_orange? Kita belajar dari ungkapan ini bahwa kita perlu menggunakan tanda kurung siku. Ikuti langkah-langkah di bawah ini untuk mengekstrak data dari situs web ke Google Sheets tanpa menggunakan add-on 1. Pertama, mari temukan XPath untuk memilih elemen. Muat situs di Chrome, Klik kanan elemen, dan pilih Periksa. Anda akan melihat jendela alat pengembang terbuka dengan panel Elemen. Seperti yang mungkin Anda ketahui, Alat Pengembang sangat penting untuk membuat pengikis web apa pun. Selanjutnya, jika Anda ingin memilih satu elemen saja, klik kanan elemen HTML, pilih Salin, dan klik Salin XPath Dalam contoh ini, kami akan bekerja dengan https. // buku. mengikis. com/, bertujuan untuk mendapatkan semua judul buku. Persyaratan ini berarti kita perlu menulis XPath khusus yang terlihat seperti ini Tekan Ctrl+F atau Command+F saat tab Elemen di bilah alat pengembang terbuka dan rekatkan XPath ini. Anda akan melihat pratinjau dari 20 item yang dipilih Melihat markup HTML, Anda akan melihat bahwa nama buku tidak lengkap untuk banyak buku di dalam teks elemen. Itu sebabnya kami mengekstraksi nilai atribut judul yang berisi judul buku lengkap. 2. Arahkan ke Google Sheets dan buat sheet baru. Langkah ini mengharuskan Anda untuk masuk ke akun Google Anda jika Anda belum melakukannya. Bergantung pada berapa banyak lembar yang telah Anda buat di masa lalu, Anda akan melihat ubin lembar Baru di bagian atas atau tombol Lembar Baru mengambang di sudut kanan bawah Tip. Lembar terbuka. new untuk langsung membuat sheet baru 3. Masukkan URL halaman web dan XPath dalam dua sel. Memasukkan nilai ini ke dalam sel memungkinkan kita membuat formula yang mudah dipelihara Memasukkan URL dan XPath 4. Terakhir, kita bisa mulai mengekstrak data website dengan Google Sheets. Di sel baru, misalnya A2, masukkan rumus berikut Rumus ini secara efektif memanggil fungsi di bawah ini
Tekan ENTER untuk menjalankan fungsi ini. Butuh beberapa saat dan mendapatkan semua dua puluh judul buku Anda akan melihat bahwa satu rumus mengekstrak semua dua puluh judul buku secara efisien. Untuk mengekstrak harga buku, langkah pertama adalah membuat XPath untuk harga. XPath ini akan menjadi sebagai berikut Masukkan XPath ini ke dalam sel, katakanlah, B3. Setelah itu, masukkan rumus berikut di sel B4 Anda akan melihat bahwa sekarang Anda telah mengambil harga buku Selain IMPORTXML, beberapa fungsi lain dapat digunakan untuk mengorek web langsung dari dokumen Google Sheets. Sekali lagi, tidak perlu add-on, karena ini tersedia secara native Fungsi-fungsi tersebut adalah sebagai berikut
Anda dapat menggunakan fungsi IMPORTHTML untuk mengekstrak data dari tabel dan daftar. Fungsi IMPORTDATA dapat mengikis data saat URL situs target Anda berisi data dalam format CSV atau TSV. Fungsi IMPORTFEED dapat mengimpor umpan RSS atau Atom. Kami akan merinci fungsi-fungsi ini segera Impor tabel dari situs web ke Google SheetsJika halaman target Anda berisi data dalam tabel, fungsi IMPORTHTML sangat cocok untuk Anda. Fungsi ini mengharapkan tiga parameter
Perhatikan hal berikut tentang rumus INDEX a. INDEX dimulai dari 1 b. INDEX untuk tabel dan daftar terpisah. Oleh karena itu, angka 1 bisa berarti tabel pertama dan daftar pertama sekaligus. Apa yang Anda dapatkan tergantung pada parameter kedua Sebagai contoh, mari kita lihat https. //en. wikipedia. org/wiki/List_of_film_berpenghasilan tertinggi. Halaman ini berisi daftar dalam sebuah tabel.
Rumus ini mendapatkan tabel pertama dari halaman. Hasilnya, Anda akan melihat seluruh tabel diambil dari halaman web ke dalam spreadsheet Google Dimungkinkan juga untuk mengekstrak hanya satu kolom. Untuk ini, Anda dapat menggunakan fungsi pengikisan web Google Spreadsheet lainnya—INDEX. Fungsi INDEX dapat mengekstrak baris atau kolom apa pun dari tabel. Ini membutuhkan satu parameter wajib dan dua parameter opsional
Misalnya, jika kita hanya menginginkan judul film yang ada di kolom nomor 3, rumus kita akan menjadi seperti di bawah ini _Kami telah melewatkan parameter opsional "baris" karena kami ingin menyimpan semua baris. Mari beralih ke fungsi bermanfaat lainnya—IMPORTFEED Impor data dari umpan XML ke Google SpreadsheetRSS dan Atom adalah dua format XML standar untuk menghasilkan umpan situs web. Meskipun menggores data dari mereka menggunakan fungsi IMPORTXML dimungkinkan, itu masih memerlukan penulisan kueri XPath. Dengan demikian, fungsi khusus lebih cocok. Ada beberapa add-on pihak ketiga, tetapi kami tidak membutuhkannya. Di sinilah fungsi IMPORTFEED masuk. Hanya membutuhkan satu baris argumen, yaitu URL umpan. Jika Anda mengirimkan URL feed, fungsi ini akan mengambil data dan menyajikannya kepada Anda di Google Sheets. Mari kita ambil contoh umpan Teknologi New York Times untuk melihat fungsi ini beraksi. 1. Buat lembar baru dan masukkan URL umpan di sel B1
2. Sekarang, di sel A2, masukkan rumus berikut Mengimpor data dari umpan situs web 3. Tekan Enter, dan Anda akan melihat dua puluh item feed diimpor ke dokumen Google Sheets Anda Menyesuaikan data yang diimpor oleh IMPORTFEEDFungsi IMPORTFEED memiliki parameter opsional berikut
Mari perbarui pemanggilan fungsi sebagai berikut Data yang diimpor dengan header Perhatikan bahwa kami telah meninggalkan ruang kosong untuk kueri. Panggilan fungsi ini membawa semua kolom. Namun, sekarang Anda hanya akan melihat lima item yang diambil bersama dengan header kolom Jika Anda menginginkan informasi spesifik dari umpan, ada daftar kemungkinan item yang dapat Anda kirim ke parameter kedua, yang sejauh ini belum kami gunakan. Jika Anda hanya menginginkan informasi tentang umpan, masukkan rumus berikut Rumus ini mengembalikan satu baris dengan informasi umpan. Dalam contoh khusus ini, hasilnya adalah sebagai berikut NYT > Teknologi https. // www. nytimes. com/section/technology Anda dapat mempersempit informasi ini lebih lanjut dengan menentukan informasi mana yang Anda inginkan dari informasi umpan. Misalnya, jika Anda hanya memerlukan judul, ubah rumusnya sebagai berikut _Opsi lainnya adalah deskripsi umpan, pembuat umpan, dan URL umpan. Anda akan melihat kesalahan jika ada informasi yang tidak ditemukan di feed Pesan error yang menunjukkan bahwa informasi tidak ditemukan di feed Jika Anda ingin melihat kolom tertentu, Anda dapat menggunakan kueri sebagai "item". Misalnya, jika Anda hanya ingin mendapatkan judul, masukkan rumus berikut
Perhatikan bahwa Anda tidak dapat menentukan lebih dari satu kolom sedemikian rupa. Jika Anda ingin mendapatkan dua kolom, Anda perlu membuat panggilan fungsi terpisah Mengimpor Data dari CSV ke Google SheetsJika Anda memiliki URL situs web yang berisi file CSV, Anda dapat menggunakan fungsi IMPORTDATA untuk mendapatkan datanya. Misalnya, buat lembar baru dan masukkan URL berikut di sel B1 _Di sel A2, masukkan rumus berikut Mengekstrak data dari file CSV Apakah data tetap segar?Jika Anda membiarkan lembar Google Anda tetap terbuka, fungsi ini memeriksa data yang diperbarui setiap jam. Data juga akan disegarkan jika Anda menghapus dan menambahkan sel yang sama. Perhatikan bahwa data tidak akan di-refresh jika Anda me-refresh sheet atau jika Anda menyalin-tempel sel dengan fungsi ini Keuntungan dan kerugian dari fungsi imporAda beberapa keuntungan utama menggunakan fungsi impor di Google Sheets
Kekurangannya juga banyak.
Kesalahan UmumBerikut adalah beberapa kesalahan umum yang mungkin Anda hadapi saat membuat spreadsheet Google untuk web scraping Kesalahan. Hasil array tidak diperluasKesalahan yang paling umum adalah kesalahan #REF. Jika Anda mengarahkan mouse ke kesalahan, Anda akan melihat pesan yang mirip dengan berikut ini Hasil array tidak diperluas karena akan menimpa data di A36 Kesalahan ini berarti Anda perlu memberi ruang dengan menambahkan lebih banyak sel untuk hasilnya Kesalahan. Hasil terlalu besarJika Anda melihat kesalahan ini, artinya hasilnya terlalu besar untuk ditangani oleh Google Sheets. Kesalahan ini terjadi saat menggunakan fungsi IMPORTXML. Solusinya adalah memperbarui kueri XPath sehingga jumlah data yang dikembalikan lebih kecil Kesalahan terkait dengan fungsi volatilKetika Anda melihat kesalahan berikut Kesalahan. Fungsi ini tidak diperbolehkan mereferensikan sel dengan NOW(), RAND(), atau RANDBETWEEN() Artinya, Anda mencoba mereferensikan salah satu fungsi volatil, seperti NOW, RAND, atau RANDBETWEEN, di salah satu parameter. Referensi ini mungkin tidak langsung atau langsung Fungsi impor tidak dapat menggunakan sebagian besar fungsi volatil. Solusinya adalah menyalin dan menempelkan nilai, lalu mereferensikan nilai tersebut KesimpulanGoogle Sheets adalah cara yang bagus untuk memulai pengikisan web tanpa menulis kode apa pun. Dengan cara ini, Anda mengumpulkan data dalam spreadsheet yang merupakan keuntungan lain. Namun, cakupannya terbatas, dan Anda perlu menggunakan atau membuat pengikis web untuk pengikisan web tingkat lanjut. Untuk kemudahan penggunaan, Anda juga dapat menemukan panduan ini di GitHub Jika Anda ingin mempelajari lebih lanjut tentang web scraping menggunakan bahasa pemrograman yang berbeda, lihat postingan blog kami, seperti Web Scraping dengan JavaScript, Web Scraping dengan Java, Web Scraping dengan C#, Tutorial Web Scraping Python, dan banyak lagi Tentang Penulis Vytenis Kaubre Copywriter Muda Vytenis Kaubre adalah Copywriter Junior di Oxylabs. Karena hasratnya terletak pada penulisan kreatif dan keingintahuan pada teknologi apa pun terus tumbuh, dia bergabung dengan pasukan copywriter. Setelah bekerja, Anda mungkin menemukan Vytenis menonton acara TV, bertukar pikiran tentang ide untuk permainan di atas meja, atau menerima saran Raymond Chandler, "Jika ragu, suruh seorang pria masuk melalui pintu dengan pistol di tangannya" terlalu serius (saat menulis cerita pendek) Semua informasi di Oxylabs Blog disediakan "sebagaimana adanya" dan hanya untuk tujuan informasi. Kami tidak mewakili dan melepaskan semua tanggung jawab sehubungan dengan penggunaan Anda atas informasi apa pun yang terdapat di Blog Oxylabs atau situs web pihak ketiga mana pun yang mungkin ditautkan di dalamnya. Sebelum terlibat dalam aktivitas scraping dalam bentuk apa pun, Anda harus berkonsultasi dengan penasihat hukum Anda dan membaca persyaratan layanan situs web tertentu dengan saksama atau menerima lisensi scraping |