Projek ini dikembangkan sebagai salah satu capstone project dari Algoritma Academy dalam spesialisasi Data Analytics. Deliverables yang diharapkan dari projek ini adalah melakukan web scraping sederhana untuk mendapatkan informasi. Untuk panduan langkah demi langkah, Anda dapat membuka repositori Git berikut di sini. Kita juga akan menggunakan dashboard sederhana Flask untuk menampilkan hasil scrap dan visualisasi.
- beautifulsoup4==4.12.3
- Flask==3.0.2
- Jinja2==3.1.3
- Werkzeug==3.0.1
- pandas==2.2.1
Atau Anda dapat menginstal paket-paket tersebut menggunakan requirements.txt
dengan menjalankan perintah berikut:
pip install -r requirements.txt
- Environment preparation (2 points)
- Finding the right key to scrap the data & Extracting the right information (5 points)
- Creating data frame, Data wrangling, and Visualization (5 points)
- Creating a tidy python notebook as a report (2 points)
- Implement it on flask dashboard (2 points)
- Unduh atau klon repositori ini. File repositori ini adalah kerangka kerja untuk melakukan scraping hingga membuat visualisasi plot yang akan digunakan dalam dashboard sederhana menggunakan Flask.
- Coba lakukan scraping dari situs web sesuai dengan kasus yang ingin Anda pilih (pilihan kasus terdapat di bawah) menggunakan
Beautiful Soup
dalam notebook Anda terlebih dahulu. - Buka notebook template pada capstone ini dan isi sesuai dengan petunjuk yang ada. Pastikan Anda memberikan analisis yang dibutuhkan dalam notebook tersebut.
- Isilah bagian yang masih kosong baik itu pada
Notebook Skeleton Guide Capstone Beautiful Soup.ipynb
,app.py
, maupun padatemplates/index.html
. - Pertama, isi fungsi
get
dengan memasukkan tautan web yang akan Anda scrap.
url_get = requests.get(___) #insert url here
- Isi fungsi
scrap
dengan proses scraping yang sudah Anda lakukan di notebook.
table = soup.find(___)
tr = table.find_all(___)
Pada bagian diatas, untuk melakukan scrap, kata kunci
table
dantr
dapat disesuaikan kembali berdasarkan kasus yang Anda ambil.
- Isi bagian ini untuk menyimpan hasil scrap yang Anda buat menjadi sebuah dataframe.
df = pd.DataFrame(name of your tupple, columns = (name of the columns))
-
Terakhir, lakukan cleaning dataframe untuk visualisasi yang sesuai dengan kasus yang Anda ambil.
-
Mengacu pada poin rubrik terakhir, selain melakukan scrap pada situs web dan membuat visualisasi dalam
notebook.ipynb
, Anda harus mendemonstrasikan bagaimana cara menampilkan plot tersebut dalam aplikasi Flask dan menampilkannya pada templates/halaman HTML. Perhatikan bagianapp.py
. Isi bagian yang kosong padaapp.py
dengan menyesuaikan kode yang sudah dibuat padanotebook.ipynb
. -
Anda juga dapat bermain dengan UI (antarmuka pengguna) pada
index.html
, di mana Anda dapat mengikuti komentar yang ada untuk mengetahui bagian mana yang dapat diubah.
Pada capstone kali ini, Anda dapat memilih salah satu dari kasus berikut untuk dikerjakan:
-
Case Data kurs US Dollar ke rupiah
- Dari halaman tersebut carilah
tanggal
, danharga harian
- Bualah plot pergerakan kurs USD
- Dari halaman tersebut carilah
-
- Dari Halaman tersebut carilah kolom
Rank
,Release Group
,Worldwide
,Domestic
, danForeign
- Buatlah plot dari 10 film paling populer di tahun 2024
- Dari Halaman tersebut carilah kolom
-
Case Berita Detik.com tentang Gempa
- Dari halaman tersebut carilah
judul
,berita
, dantanggal
- Bualah word cloud dari judul. hint: gunakan bantuan
.str.cat()
- Dari halaman tersebut carilah
Happy Learning!