Seleksi Warga Basdat 2022


Tugas 1 : Data Scraping & Data Storing

Daftar Isi

Deskripsi Data dan DBMS

Saat ini terdapat banyak pengusaha yang memanfaatkan teknologi untuk memasarkan produk yang dimilikinya. Blood+Bone merupakan salah satu website toko online yang menyediakan berbagai macam pakaian untuk pria dan wanita. Para pembeli dapat melihat foto produk dan detail dari produk yang dijual dalam website ini. Data yang penulis ambil dari website ini adalah data dress wanita meliputi nama, deskripsi, harga, warna, ukuran, berat, dan dimensi dari produk. Penulis mengambil data-data ini karena tertarik dengan informasi mengenai pakaian wanita dan berharap bisa memperoleh insight yang menarik dari informasi ini.

DBMS yang penulis gunakan dalam menyimpan data hasil scraping adalah PostgreSQL karena merupakan database relasional yang stabil, aman, dan terpercaya meskipun bersifat open source, serta mudah untuk digunakan, khususnya dalam menyimpan data produk dress yang cukup banyak.

Spesifikasi Program

Program untuk melakukan data scraping ditulis dalam bahasa pemrograman Python dengan library BeautifulSoup. Data hasil scraping kemudian disimpan dalam bentuk JSON menggunakan library json.

Data dress yang ada dapat diakses melalui API yang dibuat dalam bahasa Python dengan bantuan FastAPI. API ini akan berinteraksi dengan data yang telah disimpan dalam cloud database MongoDB.

Cara Menggunakan

Data Scraping

  1. Clone repository ini ke PC Anda.
  2. Pastikan Python telah ter-install pada PC Anda.
  3. Install seluruh library yang dibutuhkan dengan menjalankan command berikut ke terminal.
pip install -r requirements.txt
  1. Buka folder Data Scraping/src pada terminal.
  2. Jalankan command python main.py untuk melakukan scraping.
  3. File json hasil scraping akan tersedia pada folder Data Scraping/data.

API

API dapat diakses melalui dressdatabase.herokuapp.com dan endpoint yang tersedia dapat diakses melalui dressdatabase.herokuapp.com/docs.
Selain itu, Anda juga dapat mengakses API dengan cara

  1. Clone repository ini ke PC Anda.
  2. Pastikan Python telah ter-install pada PC Anda.
  3. Install seluruh library yang dibutuhkan dengan menjalankan command berikut ke terminal.
pip install -r requirements.txt
  1. Jalankan command berikut pada terminal.
uvicorn main:app
  1. API dapat diakses melalui localhost:8000. Endpoint yang tersedia dapat dilihat dengan mengakses localhost:8000/docs.

Struktur JSON

Berikut merupakan struktur JSON hasil scraping.

{
  "title": str,
  "desc": str,
  "price": int,
  "colour": list[str],
  "size": list[str],
  "weight": str,
  "dimensions": str
}

Struktur Database

ER Diagram

ERD

Model Relasional

dress = (id, title, description, price, weight, dimensions)
dress_colour = (id, colour)
dress_size = (id, size)

Screenshot

Data Scraping

Run Program

scrape1
scrape2

Data Storing

PostgreSQL

dress
postgresql1
dress_colour
postgresql2
dress_size
postgresql3

Cloud Database

mongoDB

API

API

Retrieve all data

Retrieve all data

Search by title

Search by title

Referensi

Libraries:

  • BeautifulSoup
  • requests
  • FastAPI
  • pydantic
  • pymongo
  • uvicorn
  • gunicorn

Author

Flavia Beatrix Leoni A. S.
13520051
Teknik Informatika
Institut Teknologi Bandung