Description of the data and DBMS

Data ini adalah data list pekerjaan Software Engineer dari Glints, sebuah platform untuk mencari pekerjaan. Pada tugas ini saya menggunakan list pekerjaan yang terdapat di Jakarta dan terbatas hanya pekerjaan Software Engineer saja.

Untuk DBMS, yang dipakai adalah MongoDB karena merupakan database yang sudah lazim dipakai saat ini. Juga saya pernah menggunakan MongoDB untuk mengerjakan tugas Stima.

Specification of the program

Problem Statement

Di masa pandemi ini, banyak perusahaan yang mulai membuka lowongan pekerjaan di bidang teknologi, khususnya software engineer pada platform pencari kerja seperti Glints. Akan tetapi, pekerjaan yang tertera pada Glints tidak semuanya dapat diambil dan jumlah pekerjaan yang tertera pada Glints tidak mungkin akan dicek satu per satu secara manual. Oleh karena itu dibuatlah program web scraping yang akan menyimpan list pekerjaan dan info pentingnya seperti posisi, nama perusahaan, gaji, dan lainnya.

How The Program Works

  1. Pertama program ini memuat halaman HTML yang ingin dituju menggunakan selenium dengan bantuan webdriver chrome, karena halaman Glints adalah website dinamis yang menggunakan infinite scrolling load sehingga untuk memuat lebih banyak data pekerjaan harus menggunakan selenium.
  2. Setelah menggunakan selenium, HTML tersebut diparse dan dicari berdasarkan tag dari HTML menggunakan library BeautifulSoup untuk mencari tag dan class yang dibutuhkan.
  3. Setelah mendapatkan data teks yang dibutuhkan, hasil dari scraping tersebut kemudian disimpan dalam format json per kartunya.

Start the server

mongod --dbpath "dir/to/db" --port 27017

Start data scraping

python Data\ Scraping/src/main.py

Start exporting it to db and dumping it to local folder

python Data\ Scraping/src/export.py

Images

Glints Job Portal Glints Job Portal
Python Scraping Program Ouput Log Program terminal output

Python Export Program Ouput Log (if error) Program terminal error output
Python Export Program Ouput Log (if successful) Program terminal success output
Collection Structure in MongoDB MongoDB database

JSON Structure

"title": posisi pekerjaan
"company": perusahaan yang menawarkan posisi
"location": lokasi pekerjaan
"estimate_salary": Estimasi gaji
"exp_min": pengalaman kerja minimal (tahun)
"exp_opt": lama pengalaman kerja optimal (tahun)
"last_updated": kapan terakhir kali pekerjaan diupdate
"applicant": jumlah pendaftar

Reference

External Libraries Used:

  • BeautifulSoup v0.0.1
  • lxml v4.5.2
  • Selenium v3.141.0

Author

Alvin Wilta 13519163 - Github

Disclaimer

Presentasi:

  • Visualisasi Data
  • Hasil analisis data (informasi apa yang bisa didapat)
  • Insight yang bisa didapatkan dari informasi tersebut
  • query yang digunakan untuk mendapat insight