Scrape Data dari books.tscrape.com

 

Halo semua. Kali ini saya akan membahas tentang cara scrape data pada website

https://books.toscrape.com/catalogue/page-1.html.

 

Jadi kita akan mengambil data judul ,rating dan harga



Yang pertama kita asosiasikan terlebih dahulu library yang digunakan .

from bs4 import BeautifulSoup

import requests

import pandas as panda

 

lalu untuk mengambil data star kita menggunkan def cekStar degan parameter kata

jika parameter kata == one maka tampilkan angka 1 dst

def cekStar(kata):

    if kata == 'One':

        return 1

    elif(kata == 'Two'):

        return 2

    elif(kata == 'Three'):

        return 3

    elif(kata == 'Four'):

        return 4

    else:

        return 5

 

 

 

 

 

Nah pada variable html ini kita ambil requests dari web https://books.toscrape.com/catalogue/page-1.html

Lalu memakai beutifulsoup dan mengambil content dari variable html yang telah dibuat. Kita menggunakan section find(cari) .Lalu cari elemen ol dengan class row. Dan dari elemen ol cari semua kelas li, kemudian buat variabel data untuk menampung

 

req = requests.get('https://books.toscrape.com/catalogue/page-1.html')

html = BeautifulSoup(req.content, 'html.parser')

section = html.find('section')

ol = section.find('ol', class_='row')

li = ol.findAll('li')

data = []

 

 

Lakukan perulangan pada item li

Buat variabel artcle cari elemen article ,lalu variabel stars cari elemen p .dengan atribut class index 1.

Pada variabel h3 cari article element h3 dan element a. selanjutnya pada variabel price cari elemen div dengan class product_price ,cari element p class price_color

for items in li:

    article = items.find('article')

    star = items.find('p').attrs['class'][1]

    h3 = article.find('h3').find('a').text

    price = items.find('div', class_='product_price').find(

        'p', class_='price_color').text

 

Lalu tambahkan seluruh variabel pada variabel data. Lalu tampilkan pada frame  dengan format books.csv dengan library panda

data.append({

        'books': h3,

        'star': cekStar(star),

        'price': price

    })

frame = panda.DataFrame(data)

frame.to_csv('books.csv', index=False, encoding='utf-8')

 

 

 

Komentar

Postingan populer dari blog ini

Membuat program kasir sederhana (Pilihan menu makanan) Python.

FUNGSI DAN TUGAS BEBERAPA LEMBAGA YANG MENGATUR INTERNET

Penyusunan sketsa,penyusunan prototipe toko online dan menampilkan data toko online dalam bentuk json