Lewati ke konten utama

Cara Menggunakan Python untuk Melakukan Scrape di Amazon

Pelajari tentang web scraping dengan Python dan cara melakukan scraping Amazon, dengan bantuan pustaka Beautiful Soup.
Diperbarui 28 Sep 2026  · 13 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity
grafik web scraping Amazon
Sumber

Di era ketika internet kaya akan begitu banyak data, dan tampaknya data telah menjadi minyak baru, web scraping menjadi semakin penting dan praktis digunakan dalam berbagai aplikasi. Web scraping berkaitan dengan mengekstrak atau mengambil informasi dari situs web. Web scraping kadang juga disebut dengan web harvesting atau ekstraksi data web. Menyalin teks dari sebuah situs web dan menempelkannya ke sistem lokal Anda juga merupakan web scraping. Namun, itu merupakan tugas manual. Secara umum, web scraping berhubungan dengan ekstraksi data secara otomatis dengan bantuan web crawler. Web crawler adalah skrip yang terhubung ke world wide web menggunakan protokol HTTP dan memungkinkan Anda mengambil data secara otomatis.

Baik Anda seorang data scientist, engineer, atau siapa pun yang menganalisis dataset dalam jumlah besar, kemampuan untuk mengambil data dari web adalah keterampilan yang berguna. Misalnya, Anda menemukan data dari web, dan tidak ada cara langsung untuk mengunduhnya, web scraping menggunakan Python adalah keterampilan yang dapat Anda gunakan untuk mengekstrak data ke dalam bentuk yang berguna yang kemudian dapat diimpor dan digunakan dengan berbagai cara.

Beberapa penerapan praktis dari web scraping antara lain:

  • Mengumpulkan resume kandidat dengan keterampilan tertentu,
  • Mengekstrak tweet dari Twitter dengan tagar tertentu,
  • Lead generation dalam pemasaran,
  • Scraping detail produk dan ulasan dari situs e-commerce seperti Amazon, fokus tutorial ini

Selain kasus penggunaan di atas, web scraping banyak digunakan dalam pemrosesan bahasa alami untuk mengekstrak teks dari situs web guna melatih model deep learning.

Sebelum melanjutkan, ingat bahwa situs seperti Amazon dapat memperbarui ketentuan layanan spesifik mereka atau membuat pembatasan teknis baru yang memengaruhi bagaimana konten mereka dapat diakses atau digunakan kembali. Meninjau Ketentuan Layanan dan berkas robots.txt situs tersebut untuk memastikan kasus penggunaan Anda mematuhi kebijakan adalah tanggung jawab Anda. Kebijakan dapat berubah dan izin dapat bervariasi.

Tantangan Potensial dalam Web Scraping

  • Salah satu tantangan yang akan Anda temui saat mengambil informasi dari situs web adalah beragamnya struktur situs. Artinya, templat situs web akan berbeda-beda dan unik; oleh karena itu, melakukan generalisasi lintas situs bisa menjadi tantangan.

  • Tantangan lain adalah keberlanjutan. Karena pengembang web terus memperbarui situs mereka, Anda tidak bisa bergantung pada satu scraper terlalu lama. Meskipun perubahannya mungkin kecil, hal itu tetap dapat menjadi hambatan saat Anda mengambil data.

Oleh karena itu, untuk mengatasi tantangan di atas, ada berbagai solusi yang mungkin. Salah satunya adalah mengikuti continuous integration & development (CI/CD) dan pemeliharaan berkelanjutan karena modifikasi situs web bersifat dinamis.

Pendekatan yang lebih realistis adalah menggunakan Application Programming Interface (API) yang ditawarkan oleh berbagai situs & platform. Misalnya, Facebook dan Twitter menyediakan API yang dirancang khusus untuk pengembang yang ingin bereksperimen dengan data mereka atau ingin mengekstrak informasi terkait semua teman & teman bersama lalu menggambar grafik keterkaitannya. Format data saat menggunakan API berbeda dari web scraping biasa, yaitu JSON atau XML, sedangkan dalam web scraping standar, Anda terutama berurusan dengan data dalam format HTML.

Apa itu Beautiful Soup?

Beautiful Soup adalah pustaka Python murni untuk mengekstrak data terstruktur dari sebuah situs web. Pustaka ini memungkinkan Anda mengurai data dari berkas HTML dan XML. Pustaka ini bertindak sebagai modul pembantu dan berinteraksi dengan HTML dengan cara yang mirip dan bahkan lebih baik dibandingkan cara Anda berinteraksi dengan halaman web menggunakan alat pengembang lain yang tersedia.

  • Biasanya menghemat waktu pemrogram berjam-jam atau berhari-hari karena bekerja dengan parser favorit Anda seperti lxml dan html5lib untuk menyediakan cara-cara Python yang organik dalam menavigasi, mencari, dan memodifikasi pohon hasil parse.

  • Fitur lain yang kuat dan berguna dari Beautiful Soup adalah kemampuannya mengonversi dokumen yang diambil menjadi Unicode dan dokumen keluar menjadi UTF-8. Sebagai pengembang, Anda tidak perlu mengurus itu kecuali dokumen intrinsik tidak menentukan encoding atau Beautiful Soup tidak dapat mendeteksinya.

  • Pustaka ini juga dianggap lebih cepat dibandingkan teknik parsing atau scraping umum lainnya.

Jenis-jenis Parser

tabel jenis parser
Sumber

Silakan baca lebih lanjut di sini.

Cukup teori, bukan? Sekarang, mari kita pasang Beautiful Soup dan mulai mempelajari fitur serta kemampuannya menggunakan Python.

Sebagai langkah pertama, Anda perlu memasang pustaka Beautiful Soup menggunakan terminal atau Jupyter Lab Anda. Cara terbaik memasang Beautiful Soup adalah melalui pip, jadi pastikan modul pip sudah terpasang.

!pip3 install beautifulsoup4
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/site-packages (4.7.1)
Requirement already satisfied: soupsieve>=1.2 in /usr/local/lib/python3.7/site-packages (from beautifulsoup4) (1.9.5)

Mengimpor pustaka yang diperlukan

Mari impor paket yang dibutuhkan yang akan Anda gunakan untuk mengambil data dari situs web dan memvisualisasikannya dengan bantuan seaborn, matplotlib, dan bokeh.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import re
import time
from datetime import datetime
import matplotlib.dates as mdates
import matplotlib.ticker as ticker
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests

Melakukan Scrape pada Amazon Best Selling Books

URL yang akan Anda scrape adalah berikut ini: https://www.amazon.in/gp/bestsellers/books/. Argumen halaman dapat diubah untuk mengakses data setiap halaman. Jadi, untuk mengakses semua halaman, Anda perlu melakukan loop melalui semua halaman untuk mendapatkan dataset yang diperlukan, tetapi terlebih dahulu Anda harus mencari tahu jumlah halaman dari situs web.

Untuk terhubung ke URL dan mengambil konten HTML, hal-hal berikut diperlukan:

  • Definisikan fungsi get_data yang akan menerima nomor halaman sebagai argumen,
  • Definisikan user-agent yang akan membantu melewati deteksi sebagai scraper,
  • Tentukan URL ke requests.get dan teruskan header user-agent sebagai argumen,
  • Ekstrak konten dari requests.get,
  • Scrape halaman yang ditentukan dan tetapkan ke variabel soup,

Berikutnya dan langkah penting adalah mengidentifikasi tag induk di bawah mana semua data yang Anda butuhkan berada. Data yang akan Anda ekstrak adalah:

  • Nama Buku
  • Penulis
  • Rating
  • Pelanggan yang Memberi Rating
  • Harga

Gambar di bawah menunjukkan di mana tag induk berada, dan saat Anda mengarahkan kursor ke sana, semua elemen yang diperlukan disorot.

halaman buku terlaris Amazon yang di-scrape

Serupa dengan tag induk, Anda perlu menemukan atribut untuk nama buku, penulis, rating, pelanggan yang memberi rating, dan harga. Anda harus membuka halaman web yang ingin Anda scrape, pilih atributnya lalu klik kanan dan pilih inspect element. Ini akan membantu Anda menemukan bidang informasi spesifik yang perlu Anda ekstrak dari halaman web HTML mentah, seperti ditunjukkan pada gambar berikut:

tangkapan layar inspect halaman Amazon

Perhatikan bahwa beberapa nama penulis tidak terdaftar di Amazon, jadi Anda perlu menerapkan find tambahan untuk penulis tersebut. Pada sel kode di bawah, Anda akan menemukan kondisi if-else bertingkat untuk nama penulis, yang digunakan untuk mengekstrak nama penulis/penerbit.

no_pages = 2

def get_data(pageNo):  
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0", "Accept-Encoding":"gzip, deflate", "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "DNT":"1","Connection":"close", "Upgrade-Insecure-Requests":"1"}

    r = requests.get('https://www.amazon.in/gp/bestsellers/books/ref=zg_bs_pg_'+str(pageNo)+'?ie=UTF8&pg='+str(pageNo), headers=headers)#, proxies=proxies)
    content = r.content
    soup = BeautifulSoup(content)
    #print(soup)

    alls = []
    for d in soup.findAll('div', attrs={'class':'a-section a-spacing-none aok-relative'}):
        #print(d)
        name = d.find('span', attrs={'class':'zg-text-center-align'})
        n = name.find_all('img', alt=True)
        #print(n[0]['alt'])
        author = d.find('a', attrs={'class':'a-size-small a-link-child'})
        rating = d.find('span', attrs={'class':'a-icon-alt'})
        users_rated = d.find('a', attrs={'class':'a-size-small a-link-normal'})
        price = d.find('span', attrs={'class':'p13n-sc-price'})

        all1=[]

        if name is not None:
            #print(n[0]['alt'])
            all1.append(n[0]['alt'])
        else:
            all1.append("unknown-product")

        if author is not None:
            #print(author.text)
            all1.append(author.text)
        elif author is None:
            author = d.find('span', attrs={'class':'a-size-small a-color-base'})
            if author is not None:
                all1.append(author.text)
            else:    
                all1.append('0')

        if rating is not None:
            #print(rating.text)
            all1.append(rating.text)
        else:
            all1.append('-1')

        if users_rated is not None:
            #print(price.text)
            all1.append(users_rated.text)
        else:
            all1.append('0')     

        if price is not None:
            #print(price.text)
            all1.append(price.text)
        else:
            all1.append('0')
        alls.append(all1)    
    return alls

Sel kode di bawah akan melakukan fungsi berikut:

  • Memanggil fungsi get_data di dalam for loop,
  • for loop akan mengiterasi fungsi ini mulai dari 1 hingga jumlah halaman+1.
  • Karena keluarannya akan berupa list bertingkat, Anda akan meratakannya terlebih dahulu lalu meneruskannya ke DataFrame.
  • Terakhir, simpan dataframe sebagai berkas CSV.
results = []
for i in range(1, no_pages+1):
    results.append(get_data(i))
flatten = lambda l: [item for sublist in l for item in sublist]
df = pd.DataFrame(flatten(results),columns=['Book Name','Author','Rating','Customers_Rated', 'Price'])
df.to_csv('amazon_products.csv', index=False, encoding='utf-8')

Membaca Berkas CSV

Sekarang mari muat berkas CSV yang Anda buat dan simpan pada sel di atas. Sekali lagi, ini adalah langkah opsional; Anda bahkan bisa langsung menggunakan dataframe df dan abaikan langkah di bawah.

df = pd.read_csv("amazon_products.csv")
df.shape
(100, 5)

Bentuk dataframe menunjukkan bahwa ada 100 baris dan 5 kolom dalam berkas CSV Anda.

Mari cetak 5 baris pertama dari dataset.

df.head(61)
  Book Name Author Rating Customers_Rated Price
0 The Power of your Subconscious Mind Joseph Murphy 4.5 out of 5 stars 13,948 ₹ 99.00
1 Think and Grow Rich Napoleon Hill 4.5 out of 5 stars 16,670 ₹ 99.00
2 Word Power Made Easy Norman Lewis 4.4 out of 5 stars 10,708 ₹ 130.00
3 Mathematics for Class 12 (Set of 2 Vol.) Exami... R.D. Sharma 4.5 out of 5 stars 18 ₹ 930.00
4 The Girl in Room 105 Chetan Bhagat 4.3 out of 5 stars 5,162 ₹ 149.00
... ... ... ... ... ...
56 COMBO PACK OF Guide To JAIIB Legal Aspects Pri... MEC MILLAN 4.5 out of 5 stars 114 ₹ 1,400.00
57 Wren & Martin High School English Grammar and ... Rao N 4.4 out of 5 stars 1,613 ₹ 400.00
58 Objective General Knowledge Sanjiv Kumar 4.2 out of 5 stars 742 ₹ 254.00
59 The Rudest Book Ever Shwetabh Gangwar 4.6 out of 5 stars 1,177 ₹ 194.00
60 Sita: Warrior of Mithila (Ram Chandra Series -... Amish Tripathi 4.4 out of 5 stars 3,110 ₹ 248.00

61 baris × 5 kolom

Mari lakukan sedikit prapemrosesan pada kolom Ratings, Customers_Rated, dan Price.

  • Karena Anda tahu rating menggunakan skala 5, Anda bisa menyisakan nilai rating saja dan menghapus bagian ekstra.
  • Dari kolom customers_rated, hapus koma.
  • Dari kolom price, hapus simbol rupee, koma, dan pisahkan dengan titik.
  • Terakhir, konversi ketiga kolom menjadi integer atau float.
df['Rating'] = df['Rating'].apply(lambda x: x.split()[0])
df['Rating'] = pd.to_numeric(df['Rating'])
df["Price"] = df["Price"].str.replace('₹', '')
df["Price"] = df["Price"].str.replace(',', '')
df['Price'] = df['Price'].apply(lambda x: x.split('.')[0])
df['Price'] = df['Price'].astype(int)
df["Customers_Rated"] = df["Customers_Rated"].str.replace(',', '')
df['Customers_Rated'] = pd.to_numeric(df['Customers_Rated'], errors='ignore')
df.head()
  Book Name Author Rating Customers_Rated Price
0 The Power of your Subconscious Mind Joseph Murphy 4.5 13948 99
1 Think and Grow Rich Napoleon Hill 4.5 16670 99
2 Word Power Made Easy Norman Lewis 4.4 10708 130
3 Mathematics for Class 12 (Set of 2 Vol.) Exami... R.D. Sharma 4.5 18 930
4 The Girl in Room 105 Chetan Bhagat 4.3 5162 149

Mari verifikasi tipe data DataFrame.

df.dtypes
Book Name           object
Author              object
Rating             float64
Customers_Rated      int64
Price                int64
dtype: object

Ganti nilai nol di DataFrame menjadi NaN.

df.replace(str(0), np.nan, inplace=True)
df.replace(0, np.nan, inplace=True)

Menghitung Jumlah NaN di DataFrame

count_nan = len(df) - df.count()
count_nan
Book Name          0
Author             6
Rating             0
Customers_Rated    0
Price              1
dtype: int64

Dari keluaran di atas, Anda dapat melihat bahwa terdapat total enam buku yang tidak memiliki Nama Penulis, sementara satu buku tidak memiliki harga terkait. Potongan informasi ini penting bagi penulis yang ingin menjual bukunya dan sebaiknya tidak mengabaikan untuk mencantumkannya.

Mari hapus nilai NaN ini.

df = df.dropna()

Buku Berharga Tertinggi oleh Penulis di Amazon

Mari cari tahu penulis mana yang memiliki buku berharga tertinggi. Anda akan memvisualisasikan hasil untuk 20 penulis teratas semacam itu.

data = df.sort_values(["Price"], axis=0, ascending=False)[:15]
data
  Book Name Author Rating Customers_Rated Price
56 COMBO PACK OF Guide To JAIIB Legal Aspects Pri... MEC MILLAN 4.5 114 1400.0
98 Diseases of Ear, Nose and Throat P L Dhingra 4.7 118 1285.0
3 Mathematics for Class 12 (Set of 2 Vol.) Exami... R.D. Sharma 4.5 18 930.0
96 Madhymik Bhautik Vigyan -12 (Part 1-2) (NCERT ... Kumar-Mittal 5.0 1 765.0
6 My First Library: Boxset of 10 Board Books for... Wonder House Books 4.5 3116 750.0
38 Indian Polity - For Civil Services and Other S... M. Laxmikanth 4.6 1210 700.0
42 A Modern Approach to Verbal & Non-Verbal Reaso... R.S. Aggarwal 4.4 1822 675.0
27 The Intelligent Investor (English) Paperback –... Benjamin Graham 4.4 6201 650.0
99 Law of CONTRACT & Specific Relief Dr. Avtar Singh 4.4 23 643.0
49 All In One ENGLISH CORE CBSE Class 12 2019-20 Arihant Experts 4.4 493 599.0
72 The Secret Rhonda Byrne 4.5 11220 556.0
86 How to Prepare for Quantitative Aptitude for t... Arun Sharma 4.4 847 537.0
8 Quantitative Aptitude for Competitive Examinat... R S Aggarwal 4.4 4553 435.0
16 Sapiens: A Brief History of Humankind Yuval Noah Harari 4.6 14985 434.0
84 Concept of Physics Part-2 (2019-2020 Session) ... H.C. Verma 4.6 1807 433.0
from bokeh.models import ColumnDataSource
from bokeh.transform import dodge
import math
from bokeh.io import curdoc
curdoc().clear()
from bokeh.io import push_notebook, show, output_notebook
from bokeh.layouts import row
from bokeh.plotting import figure
from bokeh.transform import factor_cmap
from bokeh.models import Legend
output_notebook()
Memuat BokehJS ...
p = figure(x_range=data.iloc[:,1], plot_width=800, plot_height=550, title="Authors Highest Priced Book", toolbar_location=None, tools="")

p.vbar(x=data.iloc[:,1], top=data.iloc[:,4], width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0
p.xaxis.major_label_orientation = math.pi/2
show(p)
diagram batang buku berharga tertinggi oleh penulis

Dari grafik di atas, Anda dapat melihat bahwa dua buku dengan harga tertinggi adalah karya penulis Mecmillan dan P L Dhingra.

Buku dengan Rating Tertinggi oleh Penulis

Mari cari tahu penulis mana yang memiliki buku dengan rating tertinggi dan buku mana dari penulis tersebut yang memiliki rating tertinggi. Namun, saat menentukannya, Anda akan menyaring penulis di mana jumlah pelanggan yang memberi rating kurang dari 1000.

data = df[df['Customers_Rated'] > 1000]
data = data.sort_values(['Rating'],axis=0, ascending=False)[:15]
data
  Book Name Author Rating Customers_Rated Price
26 Inner Engineering: A Yogi’s Guide to Joy Sadhguru 4.7 4091 254.0
70 Bhagavad-Gita (Hindi) A. C. Bhaktivedanta 4.7 1023 150.0
11 The Alchemist Paulo Coelho 4.7 22182 264.0
47 Harry Potter and the Philosopher's Stone J.K. Rowling 4.7 7737 234.0
84 Concept of Physics Part-2 (2019-2020 Session) ... H.C. Verma 4.6 1807 433.0
16 Sapiens: A Brief History of Humankind Yuval Noah Harari 4.6 14985 434.0
38 Indian Polity - For Civil Services and Other S... M. Laxmikanth 4.6 1210 700.0
29 Wings of Fire: An Autobiography of Abdul Kalam Arun Tiwari 4.6 3513 301.0
39 The Theory of Everything Stephen Hawking 4.6 2004 199.0
25 The Immortals of Meluha (Shiva Trilogy) Amish 4.6 4538 248.0
23 Life's Amazing Secrets: How to Find Balance an... Gaur Gopal Das 4.6 3422 213.0
34 Dear Stranger, I Know How You Feel Ashish Bagrecha 4.6 1130 167.0
17 The Monk Who Sold His Ferrari Robin Sharma 4.6 5877 137.0
13 How to Win Friends and Influence People Dale Carnegie 4.6 15377 99.0
59 The Rudest Book Ever Shwetabh Gangwar 4.6 1177 194.0
p = figure(x_range=data.iloc[:,0], plot_width=800, plot_height=600, title="Top Rated Books with more than 1000 Customers Rating", toolbar_location=None, tools="")

p.vbar(x=data.iloc[:,0], top=data.iloc[:,2], width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0
p.xaxis.major_label_orientation = math.pi/2
show(p)
diagram batang buku dengan rating tertinggi

Dari keluaran di atas, Anda dapat melihat bahwa tiga buku dengan rating tertinggi dan lebih dari 1000 rating pelanggan adalah Inner Engineering: A Yogi’s Guide to Joy, Bhagavad-Gita (Hindi), dan The Alchemist.

p = figure(x_range=data.iloc[:,1], plot_width=800, plot_height=600, title="Top Rated Books with more than 1000 Customers Rating", toolbar_location=None, tools="")

p.vbar(x=data.iloc[:,1], top=data.iloc[:,2], width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0
p.xaxis.major_label_orientation = math.pi/2
show(p)
diagram batang buku dengan rating tertinggi 2

Grafik di atas menunjukkan 10 penulis teratas dalam urutan menurun yang memiliki buku dengan rating tertinggi dan lebih dari 1000 rating pelanggan, yaitu Sadhguru, A. C. Bhaktivedanta, dan Paulo Coelho.

Penulis dan Buku dengan Jumlah Rating Pelanggan Terbanyak

Walaupun Anda sudah melihat buku dan penulis dengan rating tertinggi, tetap akan lebih meyakinkan dan kredibel untuk menyimpulkan penulis dan buku terbaik berdasarkan jumlah pelanggan yang memberi rating untuk buku tersebut.

Jadi, mari kita cari tahu dengan cepat.

data = df.sort_values(["Customers_Rated"], axis=0, ascending=False)[:20]
data
  Book Name Author Rating Customers_Rated Price
11 The Alchemist Paulo Coelho 4.7 22182 264.0
1 Think and Grow Rich Napoleon Hill 4.5 16670 99.0
13 How to Win Friends and Influence People Dale Carnegie 4.6 15377 99.0
16 Sapiens: A Brief History of Humankind Yuval Noah Harari 4.6 14985 434.0
18 Rich Dad Poor Dad : What The Rich Teach Their ... Robert T. Kiyosaki 4.5 14591 296.0
10 The Subtle Art of Not Giving a F*ck Mark Manson 4.4 14418 365.0
0 The Power of your Subconscious Mind Joseph Murphy 4.5 13948 99.0
48 The Power of Your Subconscious Mind Joseph Murphy 4.5 13948 99.0
72 The Secret Rhonda Byrne 4.5 11220 556.0
41 1984 George Orwell 4.5 10829 95.0
2 Word Power Made Easy Norman Lewis 4.4 10708 130.0
46 Man's Search For Meaning: The classic tribute ... Viktor E Frankl 4.4 8544 245.0
67 The 7 Habits of Highly Effective People R. Stephen Covey 4.3 8229 397.0
47 Harry Potter and the Philosopher's Stone J.K. Rowling 4.7 7737 234.0
40 One Indian Girl Chetan Bhagat 3.8 7128 113.0
65 Thinking, Fast and Slow (Penguin Press Non-Fic... Daniel Kahneman 4.4 7087 410.0
27 The Intelligent Investor (English) Paperback –... Benjamin Graham 4.4 6201 650.0
17 The Monk Who Sold His Ferrari Robin Sharma 4.6 5877 137.0
53 Ram - Scion of Ikshvaku (Ram Chandra) Amish Tripathi 4.2 5766 262.0
93 The Richest Man in Babylon George S. Clason 4.5 5694 129.0
from bokeh.transform import factor_cmap
from bokeh.models import Legend
from bokeh.palettes import Dark2_5 as palette
import itertools
from bokeh.palettes import d3
#colors has a list of colors which can be used in plots
colors = itertools.cycle(palette)

palette = d3['Category20'][20]
index_cmap = factor_cmap('Author', palette=palette,
                         factors=data["Author"])
p = figure(plot_width=700, plot_height=700, title = "Top Authors: Rating vs. Customers Rated")
p.scatter('Rating','Customers_Rated',source=data,fill_alpha=0.6, fill_color=index_cmap,size=20,legend='Author')
p.xaxis.axis_label = 'RATING'
p.yaxis.axis_label = 'CUSTOMERS RATED'
p.legend.location = 'top_left'
BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead
show(p)
scatter plot penulis teratas

Grafik di atas adalah plot sebar penulis yang memperoleh rating pelanggan vs. rating aktual. Kesimpulan berikut dapat diambil setelah melihat plot di atas.

  • Tanpa diragukan, buku Paulo Coelho berjudul The Alchemist adalah buku terlaris karena rating dan jumlah pelanggan yang memberi rating selaras.
  • Buku penulis Amish Tripathi, Ram - Scion of Ikshvaku (Ram Chandra) memiliki rating 4,2 dengan 5766 rating pelanggan. Namun, buku penulis George S. Clason, The Richest Man in Babylon, memiliki jumlah rating pelanggan yang hampir serupa, tetapi rating keseluruhannya 4,5. Jadi, dapat disimpulkan bahwa lebih banyak pelanggan memberikan rating tinggi untuk The Richest Man in Babylon.

Kesimpulan

Selamat telah menyelesaikan tutorial ini.

Tutorial ini merupakan pengenalan dasar untuk melakukan scraping di Amazon dengan Beautiful Soup dan bagaimana Anda dapat memaknai informasi yang diekstrak dengan memvisualisasikannya menggunakan pustaka plotting bokeh. Latihan yang baik untuk melangkah lebih jauh dalam mempelajari web scraping dengan Beautiful Soup adalah melakukan scraping data dari situs lain dan melihat bagaimana Anda bisa mendapatkan insight darinya. Kami juga memiliki tutorial tentang scraping Reddit jika Anda menginginkan panduan lebih lanjut untuk scraping situs populer.

Jika Anda baru mulai belajar Python dan ingin mengetahui lebih banyak, ambil kursus Introduction to Data Science in Python dari DataCamp.

Topik
Python

Pelajari lebih lanjut tentang Python

Kursus

Pengantar Data Science dengan Python

4 jam
503.7K
Selami ilmu data dengan Python dan pelajari cara menganalisis serta memvisualisasikan data Anda secara efektif. Tak perlu pengalaman atau keterampilan coding.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya