Web Scraping

Sekilas Tentang Web Scraping

Web scraping adalah proses pengambilan data dari website secara otomatis. Ini dapat digunakan untuk berbagai tujuan, termasuk dalam dunia bisnis. Misalnya, web scraping dapat digunakan untuk mengumpulkan informasi seperti detail harga barang, ulasan pelanggan, dan email pelanggan. Informasi ini kemudian dapat digunakan untuk menentukan strategi bisnis, seperti menetapkan harga, meningkatkan layanan pelanggan, dan memasarkan produk atau layanan.

Web scraping adalah alat yang ampuh yang dapat digunakan untuk meningkatkan bisnis. Namun, penting untuk menggunakan web scraping secara etis. Pastikan untuk meminta izin pemilik website sebelum mengumpulkan data dari website mereka. Anda juga harus menghindari mengumpulkan data yang tidak relevan atau tidak diperlukan.

Berikut adalah beberapa tips untuk menggunakan web scraping secara etis:

  • Minta izin pemilik website sebelum mengumpulkan data dari website mereka.
  • Kumpulkan hanya data yang relevan dan diperlukan.
  • Jangan menggunakan web scraping untuk mengumpulkan data yang bersifat pribadi atau rahasia.
  • Jangan menggunakan web scraping untuk merusak atau mengganggu website.

Dengan mengikuti tips ini, Anda dapat menggunakan web scraping untuk meningkatkan bisnis Anda secara etis.

Langkah 1 : Mengistall dan mengimport library

Hal pertama yang perlu kita lakukan adalah menginstall library Beautiful Soup, yaitu library yang akan memudahkan kita untuk mengscraping informasi dari website. Cara menginstall library-nya sendiri cukup mudah, teman-teman hanya perlu pergi ke command prompt dan mengetikan :

pip install bs4

Setelah library Beautiful Soup (bs4) terinstall selanjutnya kita perlu mengimport library tersebut dengan cara :

import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

Disini kita tidak hanya mengimport bs4 tapi juga mengimport library urllib.request sebagai salah satu library web client yang berguna untuk membantu kita mengambil sesuatu dari internet.

Langkah 2: Mengkoneksikan web page

Tentu, berikut adalah paragraf yang diparafrasekan:

Setelah semuanya siap, sekarang saatnya untuk memilih situs web yang akan di-scraping. Dalam posting ini, kami akan mengscraping situs web Goodreads, yang merupakan salah satu situs web favorit saya yang khusus untuk katalogisasi buku. Anda dapat melihat bagian yang ingin kami scrape di sini: https://www.goodreads.com/list/show/83612.NY_Times_Fiction_Best_Sellers_2015

Setelah memilih situs web yang akan di-scraping, langkah selanjutnya adalah mengambil URL situs web tersebut dan menyalinnya ke sintaks berikut:

my_url = 'https://www.goodreads.com/list/show/83612.NY_Times_Fiction_Best_Sellers_2015'

Langkah selanjutnya, kita perlu membuat klien web kita sendiri dan mengunduh halaman web tersebut dengan cara berikut:

uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()

Selanjutnya, kita akan menguraikan HTML yang telah kita punya dengan cara berikut:

page_soup = soup(page_html, "html.parser")

Untuk memastikan apakah sintaks yang kita tuliskan sudah benar, kita bisa melakukan pengecekan dengan perintah berikut:

page_soup.h1

Dan apabila benar, maka akan muncul output berikut:

Ini merupakan output header dari web page yang sudah kita sambungkan. Kalau tidak percaya teman-teman bisa cocokan sendiri ya dengan websitenya ^^

Langkah 3: Konversi Data dari HTML

Note : untuk melakukan inspect, cukup klik kanan dan klik inspect

Sekarang semuanya sudah siap. Selanjutnya, kita akan mengonversi data judul buku, penulis, rating, dan skor dari Goodreads. Pertama, kita perlu membuka situs web Goodreads dan memeriksanya.

Pada tahap ini, penting untuk menemukan elemen yang tepat yang berisi data yang ingin kita cari. Di dalam situs web Goodreads, elemen yang tepat adalah <td width=”100%” valign=”top”>, karena elemen ini memuat semua informasi yang kita butuhkan, mulai dari judul buku, penulis, rating, dan score.

Setelah kita menemukan elemen yang tepat, kita perlu mengambil elemen tersebut dengan cara berikut:

tds = page_soup.findAll(“td”, {“width”:”100%”,”valign”:”top”})

Note : Pada tahap ini teman-teman hanya perlu mencari satu element saja pada buku pertama yang mengandung semua informasi yang kita butuhkan untuk discraping, karena pada tahap selanjutnya kita akan melakukan perulangan dengan for, sehingga proses scraping serupa bisa kita lakukan pada buku yang lain.

Selanjutnya untuk memastikan apakah elementnya sudah benar kita bisa mengeceknya dengan cara :

len(tds)

SCRIPT LENGKAP

Nah karena kita sudah tahu dan membangun cara untuk mengambil data di data buku pertama, maka selanjutnya kita akan melakukan perulangan dan mengimport semua data yang kita dapatkan ke dalam csv. Dan adapun syntax lengkapnya akan terlihat sebagai berikut :

import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soupmy_url = 'https://www.goodreads.com/list/show/83612.NY_Times_Fiction_Best_Sellers_2015'
my_url# opening dan connection to website
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()# html parsing
page_soup = soup(page_html, "html.parser")# graps the product
tds = page_soup.findAll("td", {"width":"100%","valign":"top"})file = "databuku.csv"
header = "title,author,rating,score \n"
f = open(file, "w")
f.write(header)for td in tds :
books = td.a.select("span")
title = books[0].text
authors = td.div.select("a")
author = authors[0].text
ratings = td.findAll("span",{"class":"greyText smallText uitext"})
rating = ratings[0].text.strip().replace(",",".")
scores = td.findAll("div",{"style":"margin-top: 5px"})
score =
scores[0].span.a.text.strip().replace("score:","").replace(",",".").replace(" ","")print("book_name: "+ title)
print("author: "+ author)
print("rating: "+ rating)
print("goodreads_score: "+ score)f.write(title.replace(",","") + ", " + author + ", " + rating + ", " + score +"\n")f.close()

Sumber

https://gumelarmuhamad26.medium.com/cara-melakukan-web-scraping-dengan-python-lengkap-106a832b2a4e

Refrensi :

Dojo, D. S. (Director). (2017). Intro to Web Scraping with Python and Beautiful Soup [Motion Picture].

Ismi, T. (2021, Febuari 15). Web Scraping: Pengertian dan Apa Saja Manfaatnya Bagi Bisnis. Retrieved from glints: https://glints.com/id/lowongan/web-scraping-adalah/#.YNR0yegzbIU

Leave a Reply

Your email address will not be published. Required fields are marked *