Last chance! 50% off DataCamp Premium
Sale ends in
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:
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.
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.
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.
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)
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
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:
get_data yang akan menerima nomor halaman sebagai argumen,user-agent yang akan membantu melewati deteksi sebagai scraper,requests.get dan teruskan header user-agent sebagai argumen,Berikutnya dan langkah penting adalah mengidentifikasi tag induk di bawah mana semua data yang Anda butuhkan berada. Data yang akan Anda ekstrak adalah:
Gambar di bawah menunjukkan di mana tag induk berada, dan saat Anda mengarahkan kursor ke sana, semua elemen yang diperlukan disorot.

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:

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:
get_data di dalam for loop,for loop akan mengiterasi fungsi ini mulai dari 1 hingga jumlah halaman+1.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')
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.
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)
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()
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()
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)

Dari grafik di atas, Anda dapat melihat bahwa dua buku dengan harga tertinggi adalah karya penulis Mecmillan dan P L Dhingra.
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)

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)

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.
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)

Grafik di atas adalah plot sebar penulis yang memperoleh rating pelanggan vs. rating aktual. Kesimpulan berikut dapat diambil setelah melihat plot di atas.
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.
Pelajari lebih lanjut tentang Python
Kursus
Kursus
Kursus
blogs
Hugo Bowne-Anderson
13 mnt
blogs
David Woods
13 mnt
blogs
Dario Radečić
15 mnt

blogs
Javier Canales Luna
14 mnt