instagram verilerini çekmek.
Neyi yanlış yapıyorum acaba ?
Normalde 4 saati geçerse tekrar çek dedim ama veriler boş döndüğü için sayfa patlamış oluyordu. Bu yüzden gelen verilerde kontrol yaparak bu veriler varsa işlemi yap diye aşağıdaki kodları geliştirdim.
-> en son bu veriler istediğim şekilde gelmiyorsa file_get_content ile eski veriyi tekrar dosyadan alıp tekrar dosyaya yazıyorum. Buradaki amacım da dosyanın süresini değiştirmek. Bu sayede 4 saat boyunca tekrar denememiş olacak.
-> Buna rağmen 24 saat içinde hiç güncel veriyi çekemedi.. Nasıl geçebilirim bu sorunu?
public function instaXXXX()
{
$cache = __DIR__ . '/instaXXXX.json';
$instaTime = 60 * 60 * 4;
if (time() - $instaTime < @filemtime($cache)){
return $data = json_decode(file_get_contents($cache), true);
}else{
$json = file_get_contents('https://www.instagram.com/XXXXXXXX/?__a=1');
$data = json_decode($json,true);
if ($data['logging_page_id'] == 'profilePage_XXXXXXX'){
file_put_contents($cache, $json);
return $data;
}else{
$json = file_get_contents($cache);
file_put_contents($cache, $json);
return $data = json_decode($json,true);
}
}
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
hiç birşeyi yanlış yapmıyorsun.
https://www.instagram.com/XXXXXXXX/?__a=1 şu zıkım eylül 2020den sonra hosting tarafından bağlandığında kullanıcı girişi istiyor.localhost tarafında sıkıntı yok