Pengambilan (scrape) data ke website (Book to scrape)

Haloo.... Kali ini kita akan membahas tentang bagaimana cara pengambilan (scrape) data ke website yang sesungguhnya

Langsung saja simak penjelasannya :D

Pada website https://books.toscrape.com/catalogue/page-1.html kita akan mengambil data judul, rating dan harga


Langkah pertama kita asosiasikan terlebih dahulu library yang digunakan.

from bs4 import BeautifulSoup

import requests

import pandas as panda

 

Kemudian 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

 

 

Pada variable html ini kita ambil requests dari website https://books.toscrape.com/catalogue/page-1.html

Kemudian 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=Falseencoding='utf-8')

 

Sekian penjelasannya, semoga bermafaat. Terimakasih :D


Komentar

Postingan populer dari blog ini

ilustrasi dan penjelasan mengenai tahapan saat kita mengakses youtube sampai video yang kita pilih bisa diputar dalam komputer kita

Penyususan sketsa website toko online

Library BeautifulSoup dan Requests