10 Ağustos 2016 Çarşamba

CURL METODU İLE HIDEMYASS.COM PROXY ALMA

Kendi projelerinizde proxy kullanarak işlem yapmak isterseniz eğer bu kodlar tam sizin için. Curl Metodu ile proxyleri alıp projenize ekleyebilirsiniz. Hadi başlayalım.
REKLAM ALANI
1. adım )    Curl Fonksiyonunu oluşturalım
function prx($proxyurl){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$proxyurl);
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$icerik=curl_exec($curl);
curl_close($curl);
return $icerik;
}
2. Adım)Temizleme foksiyonumuz. Çok karmaşık bir işti içerdeki div span herşey ha bire degişiyordu baya karıştırdıktan sonra bu adımı atlayabildim :)
function prxtemizle($proxal){
preg_match_all('#<tr class(.*?)rel="(.*?)">(.*?)</tr>#Ssie',$proxal,$liste);
preg_match_all('#\n.(.*?){display:none}#Ssie',$liste[3][0],$liste2);
preg_match_all('#<span class="updatets(.*?)">(.*?)</span>(.*?)white-spac#Ssie',$liste[3][0],$listetemiz);
$liste2say=count($liste2[1]);
for($li=0;$li<$liste2say;$li++)
{
  $dizi[$li] = (substr($liste2[1][$li],-4));
}
$rp0 = preg_replace(array('#<style>.*</style>#m'),'', $listetemiz[3][0]);
$rp1 = preg_replace(array('#<span style="display:none">(.*?)</span>#m','#<div style="display:none">(.*?)</div>#m','#<span></span>#m'),'', $rp0);
$rp2 = preg_replace(array('#<span style="display:none">(.*?)</span>#m','#<div style="display:none">(.*?)</div>#m'),'', $rp1);
for($r3=0;$r3<$li;$r3++)
{     
     $rp2 = preg_replace(array('#<span class="'.$dizi[$r3].'">(.*?)</span>#m'),'', $rp2);
}
for($r4=0;$r4<$li;$r4++)
{
     $rp2 = preg_replace(array('#<span(.*?)>#m','#</span>#m','#<style>(.*?)</style>#si'),'', $rp2);
}

 
     $rp2 = preg_replace('/\s+/','', $rp2);
preg_match_all('#<td>(.*?)</td>#Ssie',$rp2,$ipsi);
$ipgeldi=$ipsi[1][0].":".$ipsi[1][1];
return ($ipgeldi);
}

3. Adım) Fonksiyonları çağıralım bu iş bitsin :) 
    $proxal=prx("http://proxylist.hidemyass.com/search-1318076#listable");//Linki istediginiz özelliklere gore degistirin.
    $ipgeldi=prxtemizle($proxal);

Her Türlü Sorunuzu sorabilirsiniz.

CURL METODU İLE SAHIBINDEN VERI CEKME

curl ile sahibinden.com sitesine baglanıp oradan telefon numaralarını ve linkleri nasıl çekebileceginizi size anlatacağım. Kodları istediğiniz gibi değiştirebilirsiniz.
REKLAM ALANI
1. Adım) Bağlantı fonksiyonumuz
function baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$icerik=curl_exec($curl);
curl_close($curl);
return $icerik;
}
2. Adım) Siteye Bağlanıyoruz ve sayfa sayısını belirliyoruz.

$site=baglan("https://www.sahibinden.com/otomobil?pagingSize=50");
preg_match_all('#Toplam (.*?) sayfa#Ssie',$site,$ilansayisi);
echo $ilansayisi=str_replace(".","",$ilansayisi[1][0]);
if($ilansayisi<1000)
{$sayfasayisi=ceil($ilansayisi/50);}
else
{$sayfasayisi=20;}
3. adım) Sayfa içerisinde detaylara girecek ve pregmatch ile dataları temizleyecek. 

for($s=0 ; $s<$sayfasayisi;$s++){//sayfalari Dolasacak
echo "sayfa".$s."<br>";
preg_match_all('#<a class="classifiedTitle" href="(.*?)">(.*?)</a>#Ssie',$site,$liste);
$listesay=count($liste[1]);
for($i=0 ; $i<$listesay;$i++){//Sayfa Detaylarına Tektek bak
echo"https://www.sahibinden.com".$liste[1][$i];
$detay=baglan("https://www.sahibinden.com".$liste[1][$i]);
preg_match_all('#<span class="pretty-phone-part">(.*?)</span>#Ssie',$detay,$tlf);
$tlfsay=count($tlf[1]);
echo "Telefon:".$tlf[1][0];
echo "<br>";
}

}
Çok fazla sorgu kullanırsanız eğer proxy kullanmanız gerekecek proxy kullanımını bir önceki yazımda belirtmiştim. 


FACEBOOK GRAPH API ILE GRUP POST ATMA

Graph api ile grup post atılmazmış kim demiş bal gibide atılır. İstediğiniz access_token ile facebook ta grup post atabilirsiniz. Ben biraz fazlaca kontrol oluşturdum hepsi faydaniza inanin.
REKLAM ALANI
1. adım ) Bağlantı fonksiyonu olmazsa olmazımız
function baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$icerik=curl_exec($curl);
curl_close($curl);
return $icerik;
}
2. adım ) random fonksiyonumuz
function rnd($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;

3. adım) Altın vuruş butun fonksiyonumuz burada aciklamalari yanına yazdım 

tokkontrol();
function tokkontrol()
{
echo $token="access ttokennn";//buraya access tokeninizi yazacaksiniz
    $site=baglan("https://graph.facebook.com/v2.3/me/groups?access_token=".$token."&debug=all&format=json&method=get&pretty=0&suppress_http_code=1");
//grupları sayıyoruz
preg_match_all('#"id":"(.*?)","administrator":(.*?),#Ssie',$site,$id);
$idsayi=count($id[1]);
if($idsayi==0)
{
    echo "Token Calismadi<br>";
//    tokkontrol();//donguye sokarsanız lazım olur
}
else
{
//link ler ve mesaj
$domain="www.siteniz.com";
$link="http://".$domain."/".rnd(15)."?".rnd(6)."=".rnd(4);
$mesaj="Hiall";
    for($i=0;$i<$idsayi;$i++){//grupları donguye soktuk
        echo "grup".$id[1][$i];
        $grupsayisi=baglan("https://graph.facebook.com/".$id[1][$i]."/members?limit=10000&access_token=".$token);
        preg_match_all('#"id":"(.*?)"#Ssie',$grupsayisi,$grupsayi);
        $grupsay=count($grupsayi[1]);
        echo "toplam kisi: ".$grupsay."---";
    if(100<$grupsay)//sayısı 100 uzeri olan gruplara tek mesaj atacak
    {
     $gonder=baglan("https://graph.facebook.com/v2.3/".$id[1][$i]."/feed?method=post&message=".$mesaj."&access_token=".$token);
    preg_match_all('#"id":"(.*?)"#Ssie',$gonder,$kont);
     $kontsayi=count($kont[1]);    
        if($kontsayi != 0)//oncelikle bos bir mesaj attılk eğer paylasım iznimiz admin kontrolunde degilse linkli postumuzu atacaz
        {
         $kontrol=baglan("https://graph.facebook.com/v2.3/".$id[1][$i]."/feed?method=get&access_token=".$token);
        preg_match_all('#"message":"(.*?)"#Ssie',$kontrol,$kont2);
    
        $kontsayi2=count($kont2[1]);
            
            if($kontsayi2 != 0)
            {
            
                $kontarray = array_slice($kont2[1],0,2);
            
                if (in_array($mesaj, $kontarray)) 
                 //if($kont2[1][0]==$kont[1][0])
                {
                echo $gonder3=baglan("https://graph.facebook.com/v2.3/".$id[1][$i]."/feed?method=post&link=".$link."&message=".$mesaj."&access_token=".$token);
                preg_match_all('#"id":"(.*?)"#Ssie',$gonder3,$kont3);
                 $kontsayi3=count($kont3[1]);
            
                    if($kontsayi3 != 0)
                    {
                        //paylasımımıza begende diyelimki uste ciksin
                     $begen=baglan("https://graph.facebook.com/v2.3/".$kont3[1][0]."/likes?access_token=".$token."&debug=all&format=json&method=post&pretty=0&suppress_http_code=1");
                        echo "veriler eklendi";
                        echo "---<a href=https://www.facebook.com/".$kont3[1][0].">".$kont3[1][0]."</a><br>";
                        echo "<br>";
                    }
                }    
            }
        } 
        else
        {
            echo "Yetki Yok";
            echo "<br>";
        }
    }
    }
}
}
 
Artık elinizdeki  access token ile grup post basabilirsiniz. Herturlu soruya acigim :)  

Yorum Ekle

C# MYSQL BAĞLANTISI

C# ile mysql bağlantısı yapmak bir çok projede işinize yarayacaktır. Şimdi hem size CSharp Mysql bağlantısını hemde sql sorguları ile ilgili birkaç detay yazacam. Visual Studio 2013 kullandım siz istediğinizi kullanabilirsiniz.
REKLAM ALANI
C# mysql bağlantısını yapmak için gereken kodlar.
public MySqlConnection baglantiS= new MySqlConnection("Server=localhost;Database=tic;Uid=root;Pwd='';Encrypt=false;AllowUserVariables=True;UseCompression=True");
//ben localsql kullandığım icin localhost olarak belirledim sunucu adını siz remote sql kulanacaksanız sunucu ipsini yazin
Mysql  icindeki datayı okumak icin aşağıdaki kodu kullanabilirsiniz
 void Okunacak(string id)
         {
            baglanti.Open();//mysql baglan
            string komut = "SELECT * from tablo where id='"+id+"'";
            MySqlCommand kmt2 = new MySqlCommand(komut, baglanti);
            MySqlDataReader oku = kmt2.ExecuteReader();
            while (oku.Read())
            {
             deger= Int32.Parse(oku["deger"].ToString());//gelen deger sayısal ise bunu strşnge ceviriyoruz.
                
            }
            baglanti.Close();//baglantıyı kapatıyoruz.
         }

C# Mysql veri guncelleme
void guncelle(int id)
        {
            baglanti.Open();
            string komut = "UPDATE tic SET deger= 'deger' where id='"+id+"'";
            MySqlCommand kmtg = new MySqlCommand(komut, baglanti);
            kmtg.ExecuteNonQuery();
            baglanti.Close();
      
        }
        
Mysql ve c# baglanti ve sql işlemleri bu kadar