Apa itu Scraping Web & Mengapa Menggunakan Web String?
Diterbitkan: 2021-08-01Situs web dimuat dengan data berharga, dan pengadaan data melibatkan proses kompleks menyalin informasi secara manual atau mengikuti format yang digunakan oleh perusahaan — terlepas dari kompatibilitasnya dengan sistem pengguna. Di sinilah pengikisan web masuk.
Daftar isi
Pengikisan Web — Apa itu?
Web Scraping adalah proses menyendoki dan menguraikan data dari situs web yang pada gilirannya dikonversi ke format yang membuatnya banyak akal bagi pengguna.
Meskipun pengikisan web dapat dilakukan secara manual, prosesnya menjadi rumit dan membosankan ketika sejumlah besar data mentah terlibat. Di sinilah alat pengikis web otomatis mulai berlaku karena lebih cepat, efisien, dan relatif murah.
Web Scraper bersifat dinamis dalam fitur dan fungsinya karena utilitasnya bervariasi sesuai dengan konfigurasi dan bentuk situs web. Pelajari ilmu data dari universitas ternama dari upGrad untuk memahami berbagai konsep dan metode ilmu data.
Bagaimana Web Mengikis data yang berguna?
Proses scraping web dimulai dengan menyediakan satu atau lebih URL kepada pengguna. Alat penggores menghasilkan kode HTML untuk halaman web yang perlu dihapus.
Pengikis kemudian mengambil seluruh data yang tersedia di halaman web atau hanya bagian halaman yang dipilih, tergantung pada kebutuhan pengguna.
Data yang diekstraksi kemudian diubah menjadi format yang dapat digunakan.
Mengapa beberapa situs web tidak mengizinkan pengikisan web?
Beberapa situs web secara terang-terangan memblokir penggunanya agar tidak mengorek data mereka. Tapi kenapa? Berikut adalah alasannya:
- Untuk melindungi data sensitif mereka: Google Maps, misalnya, tidak mengizinkan pengguna untuk mendapatkan hasil yang lebih cepat jika kuerinya terlalu banyak.
- Untuk menghindari sering mogok: Server situs web mungkin mogok atau melambat jika dibanjiri permintaan serupa karena menghabiskan banyak bandwidth.
Berbagai kategori Scraper Web
Pencakar web berbeda satu sama lain dalam banyak aspek. Empat jenis scraper web sedang digunakan.
- Pra-dibangun atau dibangun sendiri
- Ekstensi peramban
- Antarmuka Pengguna (UI)
- Awan & lokal
1. Scraper web yang dibuat sendiri
Membangun scraper web sangat sederhana sehingga siapa pun dapat melakukannya. Namun, pengetahuan tentang penanganan alat pengikis dapat diperoleh hanya jika pengguna berpengalaman dengan pemrograman tingkat lanjut.
Banyak pencakar web yang dibuat sendiri tersedia untuk mereka yang tidak mahir dalam pemrograman. Alat yang dibuat sebelumnya ini dapat diunduh dan langsung digunakan. Beberapa alat ini dilengkapi dengan fitur-fitur canggih seperti penjadwalan Scrape, ekspor lembar Google, JSON, dan sebagainya.
2. Ekstensi Peramban
Dua bentuk scraper web yang banyak digunakan adalah ekstensi browser dan perangkat lunak komputer. Ekstensi browser adalah program yang dapat dihubungkan ke browser seperti Firefox atau Google Chrome. Ekstensi mudah dijalankan dan dapat dengan mudah digabungkan ke dalam browser. Mereka dapat digunakan untuk mem-parsing data hanya ketika ditempatkan di dalam browser, dan fitur lanjutan yang ditempatkan di luar browser tidak dapat diimplementasikan menggunakan ekstensi scraper.
Untuk mengatasi keterbatasan tersebut, perangkat lunak scraping dapat digunakan dengan menginstalnya di komputer. Meskipun tidak sesederhana ekstensi, fitur-fitur canggih dapat diterapkan tanpa batasan browser apa pun.
3. Antarmuka Pengguna (UI)
Pencakar web berbeda dalam persyaratan UI mereka. Sementara beberapa hanya memerlukan satu UI dan baris perintah, yang lain mungkin memerlukan UI lengkap di mana seluruh situs web diberikan kepada pengguna untuk memungkinkan mereka mengikis data yang diperlukan dalam satu klik.
Beberapa alat web scraping memiliki ketentuan untuk menampilkan tip dan pesan bantuan melalui User Interface untuk membantu pengguna memahami setiap fitur yang disediakan oleh perangkat lunak.
4. Cloud atau Lokal
Pencakar lokal berjalan di komputer dengan sumber daya dan koneksi internetnya. Ini memiliki kelemahan memperlambat komputer saat pencakar sedang digunakan. Ini juga memengaruhi batas data ISP ketika dibuat untuk dijalankan di banyak URL.
Sebaliknya, alat pengikis berbasis cloud berjalan di server di luar situs yang disediakan oleh perusahaan yang mengembangkan pengikis. Ini memastikan untuk membebaskan sumber daya komputer, dan pengguna dapat mengerjakan tugas lain sambil mengorek secara bersamaan. Pengguna diberi pemberitahuan setelah pengikisan selesai.
Dapatkan sertifikasi ilmu data online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Pengikisan web menggunakan metode yang berbeda
Empat metode web scraping yang banyak digunakan adalah:
- Parsing data dari web menggunakan metode string
- Mengurai data menggunakan ekspresi reguler
- Mengekstrak data menggunakan parser HTML
- Mengikis data dengan berinteraksi dengan komponen dari situs web lain.
Parsing data dari web menggunakan metode string
- Teknik ini mendapatkan data dari website menggunakan metode string. Untuk mencari data yang diinginkan dari teks HTML, alat find() dapat digunakan. Dengan menggunakan alat ini, tag judul dapat diperoleh dari situs web.
- Jika indeks karakter pertama dan terakhir dari judul diketahui, potongan string dapat digunakan untuk mengikis judul.
- Alat. find () akan mengembalikan kemunculan substring pertama, dan kemudian indeks tag <title> awal dapat diperoleh dengan menggunakan string ” <title> untuk mendapatkan. Temukan ().
- Data yang menarik adalah indeks judul dan bukan indeks <title>. Untuk mendapatkan indeks untuk huruf pertama dalam judul, panjang string “<title> dapat ditambahkan ke indeks judul.
- Sekarang, untuk mendapatkan indeks bagian akhir </title>, string “</title>” dapat digunakan.
- Sekarang setelah bagian pertama dan penutup dari judul diperoleh, seluruh judul dapat diuraikan dengan mengiris string HTML. Berikut program untuk melakukannya:
>>> url = “ http://olympus.realpython.org/profiles/poseidon “
>>> halaman = urlopen(url)
>>> html = page.read().decode(“utf-8”)
>>> start_index = html.find(“<title>”) + len(“<title>”)
>>> end_index = html.find(“</title>”)
>>> judul = html[start_index:end_index]
>>> judul
'\n<head>\n<title >Profil: Poseidon'
Perhatikan adanya kode HTML pada judul.
Parsing Data menggunakan ekspresi Reguler
- Ekspresi Reguler, alias regex adalah pola yang digunakan untuk mencari teks di dalam string. Parser ekspresi reguler didukung oleh Python melalui modul re-nya.
- Untuk memulai dengan penguraian ekspresi reguler, modul re harus diimpor terlebih dahulu. Karakter khusus yang disebut metakarakter digunakan dalam ekspresi reguler untuk menyebutkan pola yang berbeda.
- Misalnya, tanda bintang karakter khusus (*) digunakan untuk menunjukkan 0.
- Contoh penggunaan findall() untuk mencari teks dalam sebuah string dapat dilihat di bawah ini.
>>> ulang. findall (“xy*, “ac”)
['ac']
- Dalam program python ini, argumen pertama dan argumen kedua masing-masing menunjukkan ekspresi reguler dan string yang akan diperiksa. Pola "xy* z" akan cocok dengan bagian mana pun dari string yang dimulai dengan "x" dan diakhiri dengan "z". Alat kembali. findall () mengembalikan daftar yang memiliki semua kecocokan.
- String "xz" cocok dengan pola ini, sehingga ditempatkan dalam daftar.
- Sebuah titik (.) dapat digunakan untuk mewakili setiap karakter tunggal dalam ekspresi reguler.
Mengekstrak data menggunakan parser HTML
Meskipun ekspresi reguler efektif dalam mencocokkan pola, pengurai HTML yang dirancang khusus untuk mengikis halaman HTML lebih nyaman dan lebih cepat. Perpustakaan sup paling banyak digunakan untuk tujuan ini.
- Langkah pertama dalam penguraian HTML adalah menginstal sup yang indah dengan menjalankan:
$ python3 -m pip install beautifulsoup4.
Detail instalasi dapat dilihat dengan menggunakan Run pip. Berikut adalah program untuk membuat objek sup yang indah:
impor ulang
dari urllib.request impor urlopen
url = “http://olympus.realpython.org/profiles/dionysus”
halaman = urlopen(url)
html = page.read().decode(“utf-8”)
pola = “<title.*?>.*?</title.*?>”
match_results = re.search(pola, html, re.IGNORECASE)
judul = match_results.group()
title = re.sub(“<.*?>”, “”, judul) # Hapus tag HTML
cetak (judul)
- Jalankan program untuk sup yang indah menggunakan python. Program akan membuka URL yang diperlukan, membaca teks HTML dari halaman web sebagai string, dan mendelegasikannya ke variabel HTML. Akibatnya, objek sup yang indah dihasilkan dan diberikan ke variabel sup.
- Objek sup yang indah dihasilkan dengan dua argumen. Argumen pertama memiliki HTML yang akan dihapus, dan argumen kedua memiliki string “html. parser” yang mewakili pengurai HTML Python.
Mengikis data dengan berinteraksi dengan komponen dari situs web lain.
Modul ” url lib” digunakan untuk mendapatkan isi halaman web. Terkadang konten tidak ditampilkan sepenuhnya, dan beberapa konten tersembunyi menjadi tidak dapat diakses.
- Pustaka Python tidak memiliki opsi untuk berinteraksi dengan halaman web secara langsung. Paket pihak ketiga seperti Mechanical Soup dapat digunakan untuk tujuan ini.
- Sup Mekanik menginstal browser tanpa kepala, browser tanpa UI grafis (Antarmuka Pengguna). Browser ini dapat dikendalikan oleh program python.
- Untuk menginstal sup Mekanik, jalankan program python berikut.
$ python3 -m pip install MechanicalSoup
- Alat pip menampilkan detail paket yang diinstal.
Tujuan pengikisan web
Daftar berikut menunjukkan tujuan umum yang dilakukan pengikisan web.
- Menggores detail harga saham dan memuatnya ke aplikasi API.
- Dapatkan data dari halaman kuning untuk membuat prospek.
- Menggores data dari pencari toko untuk mengidentifikasi lokasi bisnis yang efektif.
- Menggores informasi tentang produk dari Amazon atau platform lain untuk menganalisis pesaing.
- Mengumpulkan data tentang olahraga untuk taruhan atau hiburan.
- Parsing data keuangan untuk mempelajari dan meneliti pasar.
Kesimpulan
Data ada di mana-mana, dan tidak ada kekurangan sumber daya data. Proses mengubah data mentah menjadi format yang dapat digunakan menjadi lebih sederhana dan lebih cepat dengan munculnya teknologi baru di pasar. Pustaka standar Python menawarkan berbagai macam alat untuk pengikisan web, tetapi yang ditawarkan oleh PyPI menyederhanakan prosesnya. Scraping data dapat digunakan untuk membuat banyak tugas yang menarik, tetapi sangat penting untuk menghormati privasi dan kondisi situs web dan untuk memastikan tidak membebani server dengan lalu lintas yang besar.
Jika Anda ingin mempelajari lebih lanjut tentang ilmu data, kami sarankan Anda bergabung dengan Program Eksekutif 12 bulan kami dalam kursus Ilmu Data dari IIIT Bangalore, di mana Anda akan terbiasa dengan pembelajaran mesin, statistik, EDA, analitik, dan algoritme lain yang penting untuk memproses data. Dengan paparan lebih dari 60 proyek, studi kasus, dan proyek batu penjuru, Anda akan menguasai empat alat dan bahasa pemrograman, termasuk Python, SQL, dan Tableau. Anda juga mendapatkan keuntungan dari keunggulan pembelajaran sebaya yang ditawarkan upGrad kepada siswa dengan menyediakan akses ke basis siswa lebih dari 40.000.
Anda akan belajar dari fakultas Ilmu Data & pakar industri terkemuka di India selama lebih dari 40 sesi langsung yang juga akan memberikan dukungan karir 360° dan konseling untuk membantu Anda ditempatkan di perusahaan teratas pilihan Anda.