ingin membantu? Berikut adalah pilihan Anda:","Crunchbase","Tentang Kami","Terima kasih kepada semua orang atas dukungan yang luar biasa!","Tautan Cepat","Program afiliasi","ProxyScrape uji coba premium","Pemeriksa Proksi Online","Jenis proxy","Negara-negara proksi","Kasus penggunaan proxy","Penting","Kebijakan cookie","Penafian","Kebijakan privasi","Syarat dan ketentuan","Media Sosial","Facebook","LinkedIn","Twitter","Quora","Telegram","Perselisihan"," © Hak Cipta 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgia | PPN BE 0749 716 760"]}
Web scraping is the art of extracting data from a website in an automated and well-structured form. There could be different formats for scraping data like excel, CSV, and many more. Some practical use cases of web scraping are market research, price monitoring, price intelligence, market research, and lead generation. Web scraping is an instrumental
Web scraping adalah seni mengekstrak data dari situs web dalam bentuk yang otomatis dan terstruktur dengan baik. Ada beberapa format yang berbeda untuk mengikis data seperti excel, CSV, dan masih banyak lagi. Beberapa kasus penggunaan praktis dari web scraping adalah riset pasar, pemantauan harga, intelijen harga, riset pasar, dan perolehan prospek. Web scraping adalah teknik instrumental untuk memanfaatkan data yang tersedia secara publik dan membuat keputusan yang lebih cerdas. Jadi, sangat bagus bagi semua orang untuk mengetahui setidaknya dasar-dasar web scraping untuk mendapatkan manfaat darinya.
Artikel ini akan membahas dasar-dasar web scraping dengan bermain-main dengan framework Python yang disebut Beautiful Soup. Kita akan menggunakan Google Colab sebagai lingkungan pengkodean.
Sekarang kita telah melihat bagaimana proses web scraping bekerja. Mari kita mulai dengan pengkodean,
Langkah 1: Menginstal Perpustakaan Pihak Ketiga
Pada kebanyakan kasus, Colab dilengkapi dengan paket pihak ketiga yang sudah terinstal. Namun tetap saja, jika laporan impor Anda tidak berfungsi, Anda dapat menyelesaikan masalah ini dengan menginstal beberapa paket dengan perintah berikut,
permintaan instalasi pip
pip install html5lib
pip install bs4
Langkah 2: Mengakses Konten HTML dari Halaman Web
permintaan impor
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
print(r.content)
Ini akan menampilkan output formulir,
Mari kita coba memahami potongan kode ini,
Langkah3: Mengurai Konten HTML
permintaan impor
from bs4 import BeautifulSoup
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib') # Jika baris ini menyebabkan kesalahan, jalankan 'pip install html5lib' atau instal html5lib
print(sup.prettify())
Keluaran:
Ini memberikan hasil yang sangat panjang; sebagian tangkapan layar dilampirkan di bawah ini.
Salah satu hal terhebat dari Beautiful Soup adalah bahwa ia dibangun di atas pustaka pengurai HTML seperti html5lib, html.parse, lxml, dan lain-lain yang memungkinkan objek Beautiful Soap dan menentukan pustaka pengurai dibuat secara bersamaan.
Pada kode di atas, kita telah membuat objek Beautiful Soup dengan memberikan dua argumen:
r. konten: Konten HTML mentah.
html5lib: Menentukan pengurai HTML yang ingin kita gunakan.
Terakhir, soup.prettify() dicetak, memberikan representasi visual pohon parsing dari konten HTML mentah.
Langkah4: Mencari dan menavigasi pohon parsing
Sekarang saatnya untuk mengekstrak beberapa data yang berguna dari konten HTML. Objek sup berisi data dalam bentuk struktur bersarang, yang dapat diekstrak lebih lanjut secara terprogram. Dalam kasus kita, kita akan mengikis halaman web yang terdiri dari beberapa kutipan. Jadi kita akan membuat program yang memecahkan kutipan-kutipan ini. Kode programnya diberikan di bawah ini,
#Python program to scrape website
#and save quotes from website
import requests
from bs4 import BeautifulSoup
import csv
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib')
quotes=[] # a list to store quotes
table = soup.find('div', attrs = {'id':'all_quotes'})
for row in table.findAll('div', attrs = {'class':'col-6 col-lg-3 text-center margin-30px-bottom sm-margin-30px-top'}):
quote = {}
quote['theme'] = row.h5.text
quote['url'] = row.a['href']
quote['img'] = row.img['src']
quote['lines'] = row.img['alt'].split(" #")[0]
quote['author'] = row.img['alt'].split(" #")[1]
quotes.append(quote)
filename = 'inspirational_quotes.csv'
with open(filename, 'w', newline='') as f:
w = csv.DictWriter(f,['theme','url','img','lines','author'])
w.writeheader()
for quote in quotes:
w.writerow(quote)
Sebelum melangkah lebih jauh, disarankan untuk melihat konten HTML dari halaman web, yang telah dicetak menggunakan metode soup.prettify() dan mencoba menemukan pola untuk menavigasi ke tanda kutip.
Now I will explain how we get this done in the above code,
Jika kita menavigasi melalui kutipan, kita akan menemukan bahwa semua kutipan berada di dalam wadah div dengan id 'all_quotes'. Jadi kita menemukan elemen div tersebut (disebut sebagai tabel dalam kode) dengan menggunakan metode find():
table = soup.find('div', attrs = {'id':'all_quotes'})
Argumen pertama dalam fungsi ini adalah tag HTML yang perlu dicari. Argumen kedua adalah elemen tipe kamus untuk menentukan atribut tambahan yang terkait dengan tag tersebut. metode find() mengembalikan elemen pertama yang cocok. Anda bisa mencoba table.prettify() untuk mendapatkan pemahaman yang lebih baik mengenai apa yang dilakukan oleh potongan kode ini.
Jika kita fokus pada elemen tabel, wadah div berisi setiap kutipan yang kelasnya adalah kutipan. Jadi kita akan mengulang setiap kontainer div yang memiliki kelas quote.
Di sini metode findAll() sangat berguna yang mirip dengan metode find() dalam hal argumen, tetapi perbedaan utamanya adalah metode ini mengembalikan daftar semua elemen yang cocok.
Kita melakukan iterasi pada setiap kutipan dengan menggunakan variabel yang disebut baris.
Mari kita menganalisis satu contoh konten baris HTML untuk pemahaman yang lebih baik:
Sekarang perhatikan potongan kode berikut ini:
for row in table.findAll('div', attrs = {'class':'col-6 col-lg-3 text-center margin-30px-bottom sm-margin-30px-top'}):
quote = {}
quote['theme'] = row.h5.text
quote['url'] = row.a['href']
quote['img'] = row.img['src']
quote['lines'] = row.img['alt'].split(" #")[0]
quote['author'] = row.img['alt'].split(" #")[1]
quotes.append(quote)
filename = 'inspirational_quotes.csv'
with open(filename, 'w', newline='') as f:
w = csv.DictWriter(f,['theme','url','img','lines','author'])
w.writeheader()
for quote in quotes:
w.writerow(quote)
Di sini kita membuat sebuah kamus untuk menyimpan semua informasi tentang sebuah kutipan. Notasi titik digunakan untuk mengakses struktur bersarang. Untuk mengakses teks di dalam elemen HTML, kita menggunakan .text:
Lebih jauh lagi, kita juga dapat menambah, menghapus, memodifikasi, dan mengakses atribut tag. Kita telah melakukan ini dengan memperlakukan tag sebagai kamus:
quote['url'] = row.a['href']
Kemudian kita telah menambahkan semua kutipan ke daftar yang disebut kutipan.
Terakhir, kita akan menghasilkan file CSV, yang akan digunakan untuk menyimpan data kita.
namafile = 'inspirational_quotes.csv'
Kami telah menamai file kami inspirational_qoutes.csv dan menyimpan semua kutipan di dalamnya untuk digunakan di masa mendatang. Berikut adalah tampilan file inspirational_quotes.csv kita,
Pada output di atas, kami hanya menunjukkan tiga baris, tetapi kenyataannya ada 33 baris. Jadi, ini berarti kita telah mengekstrak sejumlah besar data dari halaman web hanya dengan mencoba secara sederhana.
Catatan: Dalam beberapa kasus, web scraping dianggap ilegal, yang dapat menyebabkan pemblokiran alamat IP Anda secara permanen oleh situs web. Jadi, Anda harus berhati-hati dan hanya mengikis situs web dan halaman web yang mengizinkannya.
Beberapa skenario dunia nyata di mana web scraping dapat digunakan secara besar-besaran adalah,
Generasi Pemimpin
Salah satu aktivitas penjualan yang sangat penting bagi sebagian besar bisnis adalah perolehan prospek. Menurut laporan Hubspot, menghasilkan trafik dan prospek merupakan prioritas nomor satu dari 61% pemasar inbound. Web scraping dapat memainkan peran di dalamnya dengan memungkinkan pemasar untuk mengakses daftar prospek terstruktur di seluruh internet.
Riset Pasar
Melakukan riset pasar yang tepat adalah elemen terpenting dalam setiap bisnis yang sedang berjalan, dan oleh karena itu membutuhkan informasi yang sangat akurat. Analisis pasar didorong oleh volume tinggi, kualitas tinggi, dan penggalian web yang sangat berwawasan, yang bisa dalam berbagai ukuran dan bentuk. Data ini dapat menjadi alat yang sangat berguna untuk melakukan intelijen bisnis. Fokus utama dari riset pasar adalah pada aspek-aspek bisnis berikut ini:
Buat Daftar
Scraping web dapat menjadi teknik yang sangat berguna dan bermanfaat untuk membuat daftar sesuai dengan jenis bisnis, misalnya, real estat dan toko eCommerce. Alat web scraping dapat membantu bisnis menelusuri ribuan daftar produk pesaing di toko mereka dan mengumpulkan semua informasi yang diperlukan seperti harga, detail produk, varian, dan ulasan. Hal ini dapat dilakukan hanya dalam beberapa jam, yang selanjutnya dapat membantu membuat daftar sendiri, sehingga lebih fokus pada permintaan pelanggan.
Bandingkan Informasi
Web scraping membantu berbagai bisnis mengumpulkan dan membandingkan informasi serta menyediakan data tersebut dengan cara yang bermakna. Mari kita pertimbangkan situs web perbandingan harga yang mengekstrak ulasan, fitur, dan semua detail penting dari berbagai situs web lain. Rincian ini dapat dikompilasi dan disesuaikan agar mudah diakses. Jadi, sebuah daftar dapat dibuat dari berbagai pengecer ketika pembeli mencari produk tertentu. Oleh karena itu, web scraping akan membuat proses pengambilan keputusan menjadi lebih mudah bagi konsumen dengan menampilkan berbagai analisis produk sesuai dengan permintaan konsumen.
Informasi Agregat
Scraping web dapat membantu mengumpulkan informasi dan menampilkannya dalam bentuk yang terorganisir kepada pengguna. Mari kita pertimbangkan kasus agregator berita. Pengikisan web akan digunakan dengan cara berikut,
Jadi dalam artikel ini, kami memiliki analisis mendalam tentang cara kerja web scraping dengan mempertimbangkan kasus penggunaan praktis. Kami juga telah melakukan latihan yang sangat sederhana untuk membuat scraper web sederhana di Python. Sekarang Anda dapat mengikis situs web lain yang Anda pilih. Selain itu, kita juga telah melihat beberapa skenario dunia nyata di mana web scraping dapat memainkan peran penting. Kami harap Anda menikmati artikel ini dan semuanya jelas, menarik, dan mudah dimengerti.
Jika Anda mencari layanan proxy yang luar biasa untuk proyek penggalian web Anda, jangan lupa untuk melihat ProxyScrapeproksi residensial dan premium.