cars.com üzerinden çekilen araç verilerinin MySQL veritabanında saklanması ve bu verilerin rest api aracılığı ile JSON formatında sunulması için hazırlanmış olan Python uygulaması.
- Flask
$ pip install Flask
- flask_restful
$ pip install flask-restful
- Peewee ORM
$ pip install peewee
- pymsql
$ pip install PyMySQL
- BeautifulSoup4
$ pip install beautifulsoup4
- simplejson: Veritabanından okunan Decimal veri tipini JSON nesnesine dönüştürmek için gerekli.
$ pip install simplejson
settings.py dosyası içerisinde veritabanına bağlanmak için gerekli olan MySQL Server parametreleri bulunmaktadır.
Komut satırından aşağıdaki komut çalıştırılarak tablo yapısı oluşturuluyor:
$ python models.py
Komut satırından aşağıdaki komut çalıştırılarak araç verileri çekiliyor ve MySQL veritabanına yazdırılıyor.
$ python main.py
Veriler MySQL veritabanına aktarıldıktan sonra api.py modülü aracılığı ile JSON formatında sunulabilir hale getirilmektedir.
Komut satırından aşağıdaki komut çalıştırılarak API başlatılıyor.
$ python api.py
Veriler marka, dış renk, iç renk, yıl ve vites türüne göre filtrelenebilmektedir. Filtrelemeler çoklu şekilde sorgulanabilmektedir.
- xx.com/cars/list : Araç listesinin tümü
- xx.com/cars/list/?extcolor=black : Siyah renkli araçlar
- xx.com/cars/list/?brand=BMW&extcolor=black : Siyah renkli BMW araçlar
- xx.com/cars/list/?trans=automatic&brand=Ford&year=2018: : Otomatik vites türündeki 2018 yılına ait Ford marka araçlar.