Selamlar. Yine bir mülakat projesiyle geldim. Task şu şekildeydi.
Proje Konusu
Python ile web scraping uygulaması geliştirme.
Proje Son Teslim Tarihi
Size iletilen Proje mesajından/mailinden itibaren 3 gün içerisinde projenizi teslim etmenizi bekliyoruz.
Proje Tanımı
Bu projede iki popüler kitap alışveriş sitelerinden ürün verilerini toplayan ve bu verileri kullanıcıların
faydalanabileceği şekilde sunan bir Python uygulaması geliştirmeniz gerekmektedir. Uygulamanız, scrapy veya selenium gibi uygun bir web kazıma kütüphanesi kullanarak, belirli bir ürün
kategorisindeki tüm ürünlerin;
• Kitap ismi (title),
Yayıncı-kitapevi (publisher), Yazarlar (writers),
Kitabın şuanki fiyatı (price)
bilgilerini kazıyacak şekilde tasarlanmalıdır. Kazınan veriler, MongoDB veritabanı yönetim sistemi kullanılarak kaydedilmelidir. Bunlar beklenilen temel görevlerdir.
Ekstra olarak projenize farklı özellikler ekleyebilirsiniz. Örnek olarak uygulama bitmeden kapandıysa
uygulama tekrar çalıştırıldığında kaldığı yerden devam etmesi, belirlenen tarihlerde (hergün saat 12'de)
otomatik scraping işlemi vb. Bunlar sizden zorunlu olarak beklenmeyen ama yeteneklerinizi ön plana
çıkarabileceğiniz örnek özelliklerdir. Daha farklı özellikler de ekleyebilirsiniz.
Projeniz tamamlandıktan sonra projeniz ile ilgili bilgileri, kullandığınız teknolojileri, kütüphaneleri, nasıl çalıştırıldığını ve projenizin özelliklerini içeren bir dökümantasyon yazmanız gerekmektedir. Proje Tasarımı İçin Gerekli Bilgiler
Kazınacak web siteleri:
• https://www.kitapyurdu.com/
• https://www.kitapsepeti.com/
Kazınması istenilen ürünler:
⚫ Bu projede Python ile ilgili kitapların bilgileri kazınacaktır.
⚫ Ürünlerin mutlaka kazınması gereken bilgilerinin kolon isimleri title, publisher, writers ve price olmalıdır. Bunlara ek olarak kitaplar için istediğiniz ekstra verileri kazıyabilirsiniz
.
• Sadece satışta olan ürünlerin bilgileri kazınmalıdır.
Veritabanı:
• MongoDB kullanılacaktır.
• Veriler, localhost olarak MongoDB'nin default portunda saklanmalıdır. Yani uri bağlantı bilginiz 'mongodb://localhost:27017' olmalıdır.
⚫ Database ismi *sansür*, collections isimleri kitapyurdu ve kitapsepeti olmalıdır. Sizden yaratıcı olmanızı ve sahip olduğunuz yetenekleri göstermenizi istiyoruz. Eklediğiniz ekstra özelliklerin gözden kaçmaması için dökümantasyonda belirtmeniz gerekmektedir.
Mesaiden arta kalan zamanlarda 3 günlük sürede bu projeyi yaptım. Bir de dockerized edip kazınan veriyi kullanıcı görebilsin diye bir backend ve ui koydum (ui demeye bin şahit ister ama neyse).
Proje tesliminin ertesi günü görüşmek istediklerine dair bir mail aldım fakat yüzyüze görüşme istediler. Şirket bulunduğum şehirde değildi. Bu sebeple kısaca giderleri karşılıyor musunuz?
diye bir mail attım. Maile online yapalım
cevabını verdiler (bu mailleşme cuma günü oldu). ben de online olmasının benim için de çok iyi olacağını anlatan bir maille yanıt verdim. Bugün için bir online mülakat olacaktı fakat kendileri herhangi bir dönüş yapmadılar. Yarın da kusura bakmayın bazı durumlar nedeniyle dün yapamadık
gibi bir mail atarlarsa da reddedeceğim.
Bu kadar kolay silip atmak normal gelmeyebilir fakat 3 adet benim için büyük redflag olan durum var (maile yanıt verilmemesi dışında).
- Gelen pdf’in adının
Pyhton Developer Project (4)
olması. Evet, maalesef. - PDF’i tarayıcıda açtığınızda sekme üzerinde başlık olarak bir metin görünüyor. Bu metin canva.com’daki bir template’in başlığıyla aynı. Evet, yine maalesef.
- IK yüzyüze görüşelim mailine başlık koymuyor. Gelen mail
(konu yok)
başlığıyla geliyor.
Tüm bunlar üzerine hevesim tamamen kaçtı fakat yine de projeyi yapmak ve online mülakata katılmak istedim ancak pek şaşırmadığım bir sonuçla karşılaştım.
Buradan pek bir ders çıkaramadık kısacası. Herkese kolay gelsin.
EDIT: git linkini atmayı unutmuşum, (incelemeye giden repo değil)