Java – TwitterApi – Twitter4j

Merhaba arkadaşlar bu yazımızda Twitter Apisine biraz göz gezdireceğiz.
Ben burada twitter apisine kayıt olmayı anlatmayacağım kusuruma bakmayın ama zaten internette bir çok yerde anlatılıyor nasıl kayıt olunduğu. TwitterApi’ye kayıt olduğumuzda bizim için dört tane önemli key vericek bunlar java ile twitter apisini entegre etmemize yarayacak. Bu dört key sırasıyla ;
Consumer Key, Consumer Secret Key, Access Token, Access Token Secret.
Bu keylerimizi aldığımızda twitter4j kütüphanesini indireceğiz. Kütüphaneyi burada ki siteden indirebilirsiniz.
Hepsini yaptıktan sonra kodlara başlayabiliriz.

final String CONSUMER_KEY =  "------------------------------";
        final String CONSUMER_SECRET = "-------------------------------------------------";
        final String ACCESS_TOKEN = "--------------------------------------------------";
        final String ACCESS_TOKEN_SECRET = "---------------------------------------------";
        /* 
        Bu kısımda twitter apisinden aldığımız keyleri configure ediyoruz.
        */
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
                .setOAuthConsumerKey(CONSUMER_KEY)
                .setOAuthConsumerSecret(CONSUMER_SECRET)
                .setOAuthAccessToken(ACCESS_TOKEN)
                .setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET);
        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();
        /* 
        Burada kütüphanenin bir kaç özelliğini göreceğiz.
        */
        try {
            Query query = new Query("Deneme");
            QueryResult tweets = twitter.search(query);
            
            for (Status tweet : tweets.getTweets()) {
                System.out.println(tweet.getText());   //Atılan tweet
                System.out.println(tweet.getUser().getName());  //Tweet atan userin ismi
                System.out.println(tweet.getUser().getScreenName()); //Tweet atan userin kullanıcı ismi
                System.out.println(tweet.isFavorited());  //Tweet favorilere eklimi ?
                twitter.createFavorite(tweet.getId()); //Tweeti favorilere ekle
            }
        } catch (TwitterException ex) {
            Logger.getLogger(TwitterApi.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }

Burada sadece çok basit özelliklerini gösterdim kütüphane size daha bir çok özellikleri sunuyor. Bu kütüphaneyi kullanarak daha bir çok güzel uygulama yapılabilir. Umarım bir şeyler için yardımcı olmuşumdur.

Java-Web Crawler

Merhabalar arkadaşlar bugun ki yazımızda basit fakat çok işinize yarayabilecek bir konu olan ‘web crawler’ denemesi yapacağız.

Öncelikle Jsoup kütüphanesini indirmemiz gerekiyor.Aşağıdaki link’ten indirebilirsiniz;
https://jsoup.org/download (jsoup-1.9.2.jar)  dosyasını indirip açtığınız projedeki library kısmına Add JAR derseniz işleminiz hallolacaktır.

Şimdi parse edeceğimiz site ekşisözlük.com 🙂 Bu sitede arama yaptırıp daha sonra çıkan entryleri console üzerinde yazdıracağız.Çok basit bir işlem hemen koda geçelim.

asd
Şekilden bakarsak bizim ilk entrymiz class=”content” div lerinin altında bizde bunu kullanarak çekeceğiz gerekli bilgileri.

public static void main(String[] args) {
        /*
        Consoldan aramamızı alıyoruz.
        */
        Scanner reader = new Scanner(System.in);
        System.out.println("Aramak istediğiniz entry nedir ?");
        String input = reader.nextLine();
        /*
        Parse edeceğimiz bölüm
        */
        String url = "https://eksisozluk.com/?q="+input;
        try {
            Document doc = Jsoup.connect(url).get();//urldeki tüm bilgileri çekiyoruz
            Elements links = doc.getElementsByClass("content");//content classlarını eledik
            for(int i=0 ; i<links.size(); i++){
                System.out.println(links.get(i).text()+"\n");//yazdırdık
            }
        } catch (IOException ex) {
            Logger.getLogger(EntrySearch.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }

Yazdığımız program bu kadar kolay kütüphane bizim için her şeyi yapıyor zaten 🙂
Eğer texti ben kendim almak istiyorum derseniz regex’lere göz atın derim güzel bir deneme oluyor 🙂

 

Java-Polymorphism

Merhaba arkadaşlar bu yazımızda Java’da çok işlevsel olan bir konuyu ele alıcaz. Polimorfizm (Polymorphism) ; konuyu anlatabileceğimiz örnekler üzerinden işlediğimizde ne gerek var böyle bir şeye dedirten bir konu gibi dursa da aslında çoğu yerde işimize yarayabilecek bir işlevdir. Polimorfizm ismi itibariyle çok biçimlilik demek bu bize şunu düşündürmeli tek bir komutun birden çok işlevi olması.

Komut üzerinden anlatalım;

package polymorphism;
public class Polymorphism {
    
    static public class Canli{//bizim en üst sınıfımız
        public void whoAmI(){//polimorf metodumuz.
            System.out.println("Ben bir canliyim.");
        }
    }
    static public class Insan extends Canli{//tüm classlarımız bir üst sınıftan extends ediliyor
        @Override
        public void whoAmI(){
            System.out.println("Ben bir insanım.");
        }
    }
    static public class Personel extends Insan{
        @Override
        public void whoAmI(){
            System.out.println("Ben bir personelim.");
        }
    }
    static public class Ogretmen extends Personel{
        @Override
        public void whoAmI(){
            System.out.println("Ben bir öğretmenim.");
        }
    }
    static public void writeWhoAmI(Canli canli){//sınıflardaki fonksiyona ulaşacağımız fonksiyon
        canli.whoAmI();
    }
    
    public static void main(String[] args) {
        Canli canli = new Canli();//her sınıfdan bir nesne oluşturduk
        Insan insan = new Insan();
        Personel personel = new Personel();
        Ogretmen ogretmen = new Ogretmen();
        writeWhoAmI(canli);//ve tek bir fonksiyona gönderdik
        writeWhoAmI(insan);
        writeWhoAmI(personel);
        writeWhoAmI(ogretmen);
    }
    
}

1.jpg

Ekran çıktısı ise yukarıda ki gibi olur.

Bu örnekte de tam olarak ne diyorsanız aşağıdaki komut size ne kadar zahmetli bir işten sıyrıldığımızı gösterir umarım;

package polymorphism;
public class Polymorphism {
    
    static public class Canli{
        public void whoAmI(){
            System.out.println("Ben bir canliyim.");
        }
    }
    static public class Insan extends Canli{
        @Override
        public void whoAmI(){
            System.out.println("Ben bir insanım.");
        }
    }
    static public class Personel extends Insan{
        @Override
        public void whoAmI(){
            System.out.println("Ben bir personelim.");
        }
    }
    static public class Ogretmen extends Personel{
        @Override
        public void whoAmI(){
            System.out.println("Ben bir öğretmenim.");
        }
    }
    static public void writeWhoAmI(Canli canli){
        if (canli instanceof Canli) {
            Canli canli1 = (Canli) canli;
            canli.whoAmI();
        }
        else if (canli instanceof  Insan) {
            Insan insan = (Insan) canli;
            insan.whoAmI();
        }
        else if (canli instanceof Personel) {
            Personel personel = (Personel) canli;
            personel.whoAmI();
        }
        else if (canli instanceof Ogretmen) {
            Ogretmen ogretmen = (Ogretmen) canli;
            ogretmen.whoAmI();
        }
    }
    
    public static void main(String[] args) {
        Canli canli = new Canli();
        Insan insan = new Insan();
        Personel personel = new Personel();
        Ogretmen ogretmen = new Ogretmen();
        writeWhoAmI(canli);
        writeWhoAmI(insan);
        writeWhoAmI(personel);
        writeWhoAmI(ogretmen);
    }
}

Eğer polimorfizm diye bir kavram olmasaydı yukarıdaki gibi gelen veriyi sorgulamamız gerekirdi. Hepinize iyi çalışmalar.