• 19-07-2015, 10:50:29
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar curl de bağlantıda bekletme yapabiliyormuyuz. sayfayı javascript değiştiriyor 2 saniye sonra ve ben değişikliği almak istiyorum. curl değişiklik öncesini alıyor bana değişiklik sonrası gerekiyor nasıl yapabilirim bilen var mı ? phantomjs diye bir eklenti buldum fakat işe yarıyor mu bilmiyorum bilgisi olan varsa yardımcı olursa sevinirim
  • 19-07-2015, 12:49:25
    #2
    Büyük ihtimalle XHR isteği yapıp başka bir sayfadan içerik çekiyordur. Bu isteğin nereye ve hangi bilgilerle gittiğini yakalayıp, aynı isteği sizde cURL ile yapabilirsiniz. Eğer Chrome kullanıyorsanız Developer Tools'da Network sekmesinden takip edebilirsiniz.

    PhantomJS'i arayüzsüz bir tarayıcı gibi düşünebilirsiniz. PhantomJS ile de yapılabilir büyük ihtimalle istediğiniz, ama yapılan isteği yakalayıp cURL ile simule etmek daha kolay olur.
  • 19-07-2015, 14:50:14
    #3
    Üyeliği durduruldu
    jebias adlı üyeden alıntı: mesajı görüntüle
    Büyük ihtimalle XHR isteği yapıp başka bir sayfadan içerik çekiyordur. Bu isteğin nereye ve hangi bilgilerle gittiğini yakalayıp, aynı isteği sizde cURL ile yapabilirsiniz. Eğer Chrome kullanıyorsanız Developer Tools'da Network sekmesinden takip edebilirsiniz.

    PhantomJS'i arayüzsüz bir tarayıcı gibi düşünebilirsiniz. PhantomJS ile de yapılabilir büyük ihtimalle istediğiniz, ama yapılan isteği yakalayıp cURL ile simule etmek daha kolay olur.
    phantom js daha önce kullanmadım. ayrıca site kendi veritabanından veri çekiyor sanırım. siteyide vereyim tamindir.com en son sayfaya girince programın indirme butonu var onunda linkini aldığınızda yeni bir sayfaya giriyorsunuz örneklendireyim . Bu programın indirme sayfası http://www.tamindir.com/bluestacks/

    buradan alınabilecek bir link yok. buradan şu sayfaya giriyorum

    http://www.tamindir.com/bluestacks/indir bu sayfada üstte yeşil div içinde adresi yeni sekmede açınız var o kısımda link mevcut fakat o kısım js ile yapılmış 2 saniye gecikmeli geliyor dolayısıyla ben çektiğimde o veri benm curl initimde olmuyor. buna göre bir yorum yapabilirmisiniz şimdi rica etsem?
  • 19-07-2015, 15:02:18
    #4
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Onu beklemene gerek yok. Kaynakta yazıyor indirme linki.

    attr('href','http://cloud.bluestacks.com/api/getdownload');var
    Yukarıda kalın yazdığım yer indirme linki. Regex ile alabilirsin.

    attr('href','(.*?)');var
    şeklinde almayı dene hocam.
  • 19-07-2015, 15:16:56
    #5
    misal http://www.tamindir.com/counter-strike/indir/ burda direk
    attr('href','http://cloud.bluestacks.com/api/getdownload');var
    gibi vermemiş
    attr('href',indir_link);var
    şeklinde verilmiş.
    var indir_link='http://www.tamindir.com/indir/'+tarih_format+'/counter-strike/windows/1.5-turkce-dil-paketi';
    şeklinde indirme linkini elde edebilirsiniz.
    tarih formatını
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    şeklinde kendinizde elde edip kullanabilirsiniz. Tabiki önce tam indirden regex ile indirme kodunu alın.
    preg_match("~indir_link=\'(.*?)\'\+tarih_format\+\'(.*?)\'~is",$curl_veri,$cikti);
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    $indirme_linki=$cikti[1].$tarih_format.$cikti[2];
    şeklinde deneyebilirisiniz.
  • 19-07-2015, 16:26:28
    #6
    Üyeliği durduruldu
    ufukt51 adlı üyeden alıntı: mesajı görüntüle
    misal http://www.tamindir.com/counter-strike/indir/ burda direk
    attr('href','http://cloud.bluestacks.com/api/getdownload');var
    gibi vermemiş
    attr('href',indir_link);var
    şeklinde verilmiş.
    var indir_link='http://www.tamindir.com/indir/'+tarih_format+'/counter-strike/windows/1.5-turkce-dil-paketi';
    şeklinde indirme linkini elde edebilirsiniz.
    tarih formatını
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    şeklinde kendinizde elde edip kullanabilirsiniz. Tabiki önce tam indirden regex ile indirme kodunu alın.
    preg_match("~indir_link=\'(.*?)\'\+tarih_format\+\'(.*?)\'~is",$curl_veri,$cikti);
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    $indirme_linki=$cikti[1].$tarih_format.$cikti[2];
    şeklinde deneyebilirisiniz.
    tolgasen adlı üyeden alıntı: mesajı görüntüle
    Onu beklemene gerek yok. Kaynakta yazıyor indirme linki.

    attr('href','http://cloud.bluestacks.com/api/getdownload');var
    Yukarıda kalın yazdığım yer indirme linki. Regex ile alabilirsin.

    attr('href','(.*?)');var
    şeklinde almayı dene hocam.
    hocam indirme linki yazıyor demişsinde. siteye girdikten yaklaşık 1.5 saniye sonra geliyor link. daha öncesinde yok curl ise bu 1.5 saniye öncesinin datasını veriyor bana dolayısıyla link yok ortada parselleyebileceğim bir veride yok tamamen linksiz bir veri geliyor benm javayı bekletip linkin açılıp linki çekmem gerekiyor. eğer yapabilirseniz bir örnek rica edebilrmiyim

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 15:26:28 -->-> Daha önceki mesaj 15:15:17 --

    ufukt51 adlı üyeden alıntı: mesajı görüntüle
    misal http://www.tamindir.com/counter-strike/indir/ burda direk
    attr('href','http://cloud.bluestacks.com/api/getdownload');var
    gibi vermemiş
    attr('href',indir_link);var
    şeklinde verilmiş.
    var indir_link='http://www.tamindir.com/indir/'+tarih_format+'/counter-strike/windows/1.5-turkce-dil-paketi';
    şeklinde indirme linkini elde edebilirsiniz.
    tarih formatını
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    şeklinde kendinizde elde edip kullanabilirsiniz. Tabiki önce tam indirden regex ile indirme kodunu alın.
    preg_match("~indir_link=\'(.*?)\'\+tarih_format\+\'(.*?)\'~is",$curl_veri,$cikti);
    $tarih_format=base64_encode(date('Y-m-d H:i:s',time()));
    $indirme_linki=$cikti[1].$tarih_format.$cikti[2];
    şeklinde deneyebilirisiniz.
    oldu hocam çok teşekkür ederim +repreprepreprep