Cara menggunakan beautiful soup python

Belajar cara scrape website dengan python dan beautiful soup – Kali ini riffamedia akan berbagi tutorial Belajar cara scrape website dengan python dan beautiful soup. Sebelum kita mememulai materi alangkah baiknya rekan rekan semua membacanya sambil mempraktekan nya agar cepat dalam memahami. Untuk itu silahkan rekan rekan install dulu python nya. Setelah terinstall rekan rekan bisa install modul beautifull soup dan install request, dengan cara mengetikan di cmd bagi yang memakai windows, dan bisa memakai terminal bagi yang memakai linux.

Contents

Cara menginstall Beautiful Soup

pip install beautifulsoup4

Kalau yang menggunakan pip3 rekan rekan bisa install dengan perintah

pip3 install beautifulsoup4

Setalah itu jangan lupa juga install request. Karena request ini digunakan untuk scrape website. Sedangkan beautiful soup digunakan untuk extract data. kalian bisa menginstall request dengan mengetikan perintah

 pip install request 

Cukup dengan dua modul diatas, kita sudah bisa melakukan scrape website, dan juga kita bisa extract data dari website tersebut sesuai dengan keinginkata yang akan diambil.

Cara Scrape Website Dengan Request

import requests
from requests import get

url = "https://www.example.com/"
headers = {
    "Accept-Language": "en-US, en;q=0.5",
    "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
}
results = requests.get(url, headers=headers)

Kode diatas adalah digunakan untuk scrapping, yaitu mendapatkan kode html dari website. Dalam kasus diatas kita mengambil data dari example.com. Jika kita ingin menampilkan kode html diatas, kita bisa melakukan dengan code berikut.

Untuk menampilkan dalam bentuk clean

print(results.text)

Untuk menampilkan dalam bentuk html

print(results.content)

Cara Scrape Website dan extract HTML dengan Beautiful Soup

Untuk memulai menggunakan beautiful shoup rekan rekan bisa import dulu beautiful soupnya di project rekan rekan semua

from bs4 import BeautifulSoup

Untuk mengubahnya kedalam format beautiful soup dan agar enak dilihat kode htmlnya, rekan rekan bisa mengubahnya dengan kode berikut

soup = BeautifulSoup(results.content, 'html.parser')

Sekarang saatnya hal yang paling penting dan paling menentukan dalam extract data, yaitu penentuan mana yang akan kita ambil, Karena banyak orang dipusingkan dibagian sini. Oleh karena itu anda tetap harus sembari praktek agar anda bisa lebih mendalami dan lebih paham.

Web Scrapping merupakan proses untuk meng-ekstrak informasi (teks) dari website dan halaman online. Merupakan metode untuk mengambil informasi serta dataset untuk di analisis lebih lanjut.

Kali ini kita akan mencoba untuk melakukan ekstraksi informasi menggunakan python serta library Beautiful Soup. Beautiful Soup merupakan library yang banyak digunakan untuk melakukan parsing elemen html. Sederhananya, library ini digunakan untuk menerjemahkan elemen tag html untuk diambil isi teks-nya.

Mari Kita Coba

Pada praktek kali ini, mari kita coba untuk meng-ekstrak informasi mengenai daftar episode anime Dragon Ball. Setelah mencoba mencari informasi mengenai daftar episode anime Dragon Ball, kita dapatkan bahwa informasi tersebut dapat diambil dari website wikipedia di link berikut https://en.wikipedia.org/wiki/List_of_Dragon_Ball_episodes.

Cara menggunakan beautiful soup python

Dari sejumlah halaman yang ditampilkan, kita akan coba untuk meng-ekstrak tabel saga overview seperti gambar diatas.

Langkah Pertama

Pastikan library Beautiful Soup dan Request sudah terinstall, apabila belum jalankan perintah dibawah ini di console python. Library Requests berfungsi untuk mengambil elemen HTML dari sebuah alamat website yang diberikan, dan ini akan menjadi input bagi Beautiful Soup untuk melakukan parsing halaman.

pip install beautifulsoup4
pip install requests

Setelah berhasil menginstall dua library diatas, lakukan import library untuk menguji apakah library tersebut sudah terinstall dengan baik dan selanjutnya bisa kita gunakan dalam kode python kita.

import pandas as pd
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen

Langkah Kedua

Lakukan pengecekan melalui browser, pada elemen manakah tabel yang akan kita akstrak tersebut berada. Apabila menggunakan Firefox/ Chrome tekan CTR+Shift+I atau dengan melakukan klik kanan pada mouse dan pilih Inspect Element.

Dari informasi yang ditampilkan pada jendela Inspect Element tersebut diketahui bahwa tabel yang akan kita ekstrak berada pada elemen table class=”wikitable”.

Cara menggunakan beautiful soup python

Langkah Ketiga

Setelah mengetahui di elemen mana informasi tersebut akan diambil, saatnya kita melakukan pemanggilan dan ekstraksi dari halaman tersebut. Panggil halaman menggunakan library request:

alamat = "https://en.wikipedia.org/wiki/List_of_Dragon_Ball_episodes"
req = Request(alamat, headers={'User-Agent': 'Mozilla/5.0'})

Perintah diatas akan melakukan pemanggilan pada alamat wikipedia. Argumen headers digunakan agar panggilan kita seolah-olah berasal dari sebuah web browser (yaitu ‘Mozilla/5.0’). Argumen headers ini sifatnya opsional, beberapa website tidak mensyaratkan hal tersebut tetapi ada beberapa website lainnya yang melakukan pengecekan agar halaman website mereka hanya bisa dibuka menggunakan browser yang legitimate.

Langkah Keempat

Setelah halaman web berhasil dibuka, jalankan Beautiful Soup untuk melakukan ekstraksi tabel yang akan kita ambil.

html = urlopen(req).read()
data = BeautifulSoup(html, 'html.parser')
pip install beautifulsoup40

Variabel table menyimpan hasil pengambilan elemen tabel pertama yang merupakan tabel yang ingin kita ambil dari halaman website tersebut. Apabila kita coba tampilkan variabel tersebut penggunakan fungsi print maka akan menghasilkan tampilan seperti berikut:
pip install beautifulsoup41

<table class="wikitable" style="text-align:center">
<tbody><tr>
<th colspan="3">Season<sup class="reference" id="cite_ref-1"><a href="#cite_note-1">[n 1]</a></sup>
</th>
<th>Episodes
</th>
<th>Japanese Airdates
</th>
<th>English Airdates
</th></tr>
<tr>
<td bgcolor="#CCF" width="3%">
</td>
<td width="3%">1
</td>
<td><b><a href="#Season_1:_Emperor_Pilaf_Saga_(1986)">Emperor Pilaf Saga</a></b>
</td>
<td>13
</td>
<td>February 26, <a href="/wiki/1986_in_television" title="1986 in television">1986</a> – May 21, <a href="/wiki/1986_in_television" title="1986 in television">1986</a>
</td>
<td>September 9, <a href="/wiki/1995_in_television" title="1995 in television">1995</a> – December 2, <a href="/wiki/1995_in_television" title="1995 in television">1995</a> (original)<br/>August 20, <a href="/wiki/2001_in_television" title="2001 in television">2001</a> – September 5, <a href="/wiki/2001_in_television" title="2001 in television">2001</a> (re-dub)
</td></tr>
<tr>
<td bgcolor="#2FCE1F">
</td>
<td>2
</td>
<td><b><a href="#Season_2:_Tournament_Saga_(Turtle_School_Training_and_21st_World_Martial_Arts_Tournament_Sagas)_(1986)">Tournament Saga (Turtle School Training and 21st World Martial Arts Tournament Sagas)</a></b>
</td>
<td>15
</td>
<td>May 28, <a href="/wiki/1986_in_television" title="1986 in television">1986</a> – September 3, <a href="/wiki/1986_in_television" title="1986 in television">1986</a>
</td>
<td>September 6, <a href="/wiki/2001_in_television" title="2001 in television">2001</a> – September 26, <a href="/wiki/2001_in_television" title="2001 in television">2001</a>
</td></tr>
<tr>

…

Selanjutnya kita akan coba simpan masing-masing baris dari tabel tersebut kedalam sebuah list bernama rows.

pip install beautifulsoup42

Lakukan iterasi pada variabel row untuk memecah masing-masing kolom menjadi sebuah list yang kemudian disimpan kedalam variabel hasil.

pip install beautifulsoup43
pip install beautifulsoup44
   pip install beautifulsoup45
   pip install beautifulsoup46
   pip install beautifulsoup47

Buat dataframe dari variabel list hasil dan tampilkan hasilnya.

pip install beautifulsoup48
pip install beautifulsoup49

Maka akan menghasilkan tampilan seperti berikut ini.

Cara menggunakan beautiful soup python

Sudah lumayan menyerupai data yang diambil dari wikipedia bukan? Tetap ada beberapa hal yang harus diperbaiki dari dataframe yang telah dihasilkan, pertama adalah hapus kolom satu karena tidak menyimpan informasi apapun. Kemudian selanjutnya adalah memberi judul masing-masing kolom dari tabel kita. Terakhir adalah menghapus baris awal dari tabel kita karena terlihat disana tidak memiliki data/ none.

Sebutkan langkah langkah Web Scraping?

Menyalin Data secara Manual. Cara web scraping yang paling sederhana adalah menyalin data website secara manual. ... .
Menggunakan Regular Expression. ... .
Parsing HTML. ... .
Menganalisa DOM. ... .
Menggunakan XPath. ... .
6. Menggunakan Google Sheet. ... .
Mendapatkan Leads. ... .
Membandingkan Ulasan dalam Jumlah Besar..

Apa itu library BeautifulSoup?

BeautifulSoup adalah library Python yang digunakan untuk mengambil data HTML dan XML. BeautifulSoup berfungsi sebagai parser untuk memisahkan komponen-komponen HTML menjadi rangkain elemen yang mudah dibaca.

Apa yang kalian ketahui tentang Web Scraping?

Web scraping merupakan proses pengumpulan data dan informasi yang ada dalam sebuah website secara otomatis dan spesifik. Dikatakan spesifik karena data yang diambil hanya di bagian tertentu saja sesuai dengan kebutuhan.