Migros carfure gibi marketler ürünlerin güncel fiyatlarını nasıl çekebilirim?
ve yasal mı?
Servis vereceklerini sanmıyorum. kendin siteden fiyat çekebilirsin. baya bir uğraştırır.
kendi sitesinde yayınladığı fiyatı alman ile ekranı açıp bakman arasında bir fark olmayacağı için yasal olarak bir yaptırım olmayacaktır.
Web master değilim ama eğer APIleri yoksa (Ki sanmıyorum olacağını), screen scraping yapmanız lazım. Bu da kapaca istediğiniz web sayfasını yazılım ile alıp, içindeki elementleri tasnif etmek oluyor. Yani mesela "www.migros.com.tr" URL'ini çağırıp burada listelenen ürünleri (Ki genelde hepsi aynı yapıyı kullanıyor olacaktır) çekiyorsunuz. Tabi sayfalar arası gezmeniz vb. gerekebilir; mesela her sayfada 50 ürün varsa, yazdığınız kodun ilk sayfayı çektikten sonra başka sayfa olup olmadığına bakması, varsa tek tek onları da gezmesi gerekli.
İşin hukuki kısmını bilemiyorum; verileri ne amaçla kullandığınıza göre değişebilir herhalde ama yaptığınız şey aslında web sitesini gezmekten ve o halka açık olan bu bilgileri toplamaktan ibaret. Bunu çok sık yaparssanız yasal bir sorun olmasa bile sitenin çeşitli güvenlik mekanizmaları devreye girer ve mesela Captcha girmeniz, IP değiştirmeniz vb. gerekir.
scaper yazar çekersin, çok dert değil.
google gibi yapay zeka kasmak istemiyorsan bütün kategori/listeleme sayfalarını bulup bir indexe atan bir ön scaper yaz (kendin manuel de abanabilirsin).
onu çözebilirsen sonrasında detay ya da listeleme sayfalarından fiyatları çekip ayrıca paginationu takip eden ikinci bir script daha yazarsın ikisi de aynı şekilde çalışacak zaten.
düz curl ile data çekip çalışırsan her siteden data çekemeyebilirsin. örn cepteşok client side rendering ile çalışıyor curl'de boş sayfa döndürür. onu da chromimum ile sayfayı render alıp atlatabilirsin.
kolay gelsin, arkadaşların dediği gibi uğraştırıcı ama yazılıma merakın varsa keyifli de bir iş :)