Giter Site home page Giter Site logo

seleksi-2022-tugas-1's Introduction


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

seleksi-2022-tugas-1's People

Contributors

leoniantoinette avatar andresjerriels avatar wargabasdat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.