lostyazilim
tr.link

php array tüm verileri çekmiyor?

4 Mesajlar 718 Okunma
lstbozum
tr.link

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1468
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
merhaba arkadaşlar php bot yaparken bi yerde tıkandım benden mi kynaklanıyor siteden mi işin içinden çıkamadım malesef.

İstanbulun ilçelerini çekmeye çalışıyorum 39 ilçesi var sitede 25 ilçesi geliyor .



$baglan = Baglan ('https://nobet.org/istanbul/nobetci-eczaneler.html');
preg_match('@
    (.*?)
@si',$baglan ,$eczane3);
preg_match_all('@
  • (.*?)
  • @si',$baglan , $eczane5);
    print_r($eczane5);



    yardım eden : @FOMOCO
    Sorun Çözüldü : li taglarını şu şekilde yaptıktan sonra düzenli olarak çekti


    preg_match_all('@
  • (.*?)
  • @si',$eczane3[1] , $eczane5);
     

     

    :)
    wmaraci
    reklam

    FOMOCO FOMOCO WM Aracı Kullanıcı
    • Üyelik 10.11.2011
    • Yaş/Cinsiyet 41 / E
    • Meslek Nakliyat
    • Konum
    • Ad Soyad C** A**
    • Mesajlar 417
    • Beğeniler 184 / 76
    • Ticaret 1, (%100)
    bu konu çok yerde dikkatimi çekti :) soru sahibi kim onuda bilemedim :D
    burda ve başka bir soru sitesinde diyelim...

    hocam öncelikle bot mantığınız nasıl yürütüyorsunuz bilmiyorum fakat siz direk link şeklinde parse edmişsiniz bence yanlış gidiyorsunuz gibi ama belki bir bildiğiniz vardır diyerek sizin yoldan tarif edeyim ben sonra sıkıntı yaşarsan yazarsın en iyisi :)

    aşağıdaki şekilde denermisiniz

    siz preg_match ile işlem yaparken
    preg_match_all('@
  • (.*?)
  • @si',$baglan , $eczane5);

    bu kısıma iyi bakarsanız her li style="text-decoration:underline; içermiyor haliyle sadece o stili içerenleri gösteriyor sorgunda || (yada) ekliyerek istediğiniz sonucu elde edersiniz

    isterseniz kendi baglan fonksiyonunuzu kullanabilirsiniz

    $headers = [
    ':authority:nobet.org',
    ':method:POST',
    ':path:/latlng.html',
    ':scheme:https',
    'accept:*/*',
    'accept-encoding:gzip, deflate, br',
    'accept-language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4',
    'origin:https://nobet.org',
    'referer:https://nobet.org/istanbul/nobetci-eczaneler.html',
    'user-agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
    'x-requested-with:XMLHttpRequest'

    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_ENCODING , "gzip");
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $cikti = curl_exec ($ch);
    curl_close ($ch);
    return $cikti;
    }

    $baglan = Baglan ('https://nobet.org/istanbul/nobetci-eczaneler.html');
    preg_match('@
      (.*?)
    @si',$baglan, $eczane3);
    preg_match_all('@
  • (.*?)
  • ||
  • (.*?)
  • @si',$eczane3[1] , $eczane5);
    print_r($eczane5);
    ?>
     

     

    omrumdely omrumdely Web Tasarım Kullanıcı
    • Üyelik 26.05.2012
    • Yaş/Cinsiyet 34 / E
    • Meslek Web Tasarım
    • Konum Kocaeli
    • Ad Soyad Ö** G**
    • Mesajlar 1468
    • Beğeniler 157 / 158
    • Ticaret 11, (%100)
    merhaba hocam konuya ilgi gösterdiğiniz için çok teşekkür ederim.
    konuda vermiş olduğunuz kod işime yaramadı yine 25 ilçesi çekiyor.
     

     

    :)

    omrumdely omrumdely Web Tasarım Kullanıcı
    • Üyelik 26.05.2012
    • Yaş/Cinsiyet 34 / E
    • Meslek Web Tasarım
    • Konum Kocaeli
    • Ad Soyad Ö** G**
    • Mesajlar 1468
    • Beğeniler 157 / 158
    • Ticaret 11, (%100)
    hocam verdiğiniz kodda
  • (.*?)
  • bu kısım işime yaradı teşekkür ederim :)
     

     

    :)
    wmaraci
    wmaraci
    wmaraci
    wmaraci
    Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
    Site Ayarları
    • Tema Seçeneği
    • Site Sesleri
    • Bildirimler
    • Özel Mesaj Al