$type=blogging$count=16$readmore=no$labels=no$snippet=no$meta=no

$type=one$count=10 $type=blogging$count=16$readmore=no$labels=no$snippet=no$meta=no Yazılarımız DMCA lisansı ile korunmaktadır.Kaynak gösterilmeden alıntı yapılamaz.!

Takdir Ediliyorsan Değil Taklit Ediliyorsan Başarmışsındır.
Bumerang - Yazarkafe

DMCA.com Protection Status

JAVA ile Rss Üzerinden Veri Çekme İşlemi Nasıl Yapılır?





Bugün JAVA ile web sitelerinde yer alan rss sisteminden veri çekmeyi öğreniyor olacağız. Öncelikle RSS 'in ne olduğundan bahsedelim.

RSS çeşitli internet siteleri tarafından yayınlanan haber vb. içeriğin tek bir ortamdan topluca izlenebilmesine olanak sağlayan bir içerik besleme yöntemidir, bu yöntem sayesinde web sitelerindeki veriler kolaylıkla farklı formatlara dönüştürülebilinmektedir.

Şuanki paylaşımımızda sabah gazetesinin spor bölümünün rss alanından veri çekeceğiz, paylaşılan spor haberlerinin başlıklarını, haber içeriklerini, paylaşım zamanlarını ve her haberde yer alan resimleri javada yazacağımız kodlar ile bilgisayarımıza indireceğiz. Kayıt işlemi yapılırken text olan bölümler .txt formatında, resim dosyaları ise site ismini içeren klasör içerisinde yer alan klasörde .jpg seklinde depolanacaktır.

UYGULAMA

Adım 1: NetBeans üzerinden yeni bir sabahRss adında java projesi oluşturuyoruz.

Adım 2: NetBeans kütüphanesine JSOUP paketini eklemek.

Öncelikle JSOUP paketini indirip NetBeans'a import etmemiz gerekiyor aksi durumda kodlarımız sağlıklı çalışmayacaktır.

Adım 1.1: JSOUP Kurulumu
Öncelikli olarak burada yer alan linkten jsoup jar dosyasını indiriyoruz. İndirme tamamlandıktan sonra, NetBeans' a girerek aşağıda ki resimde yer alan alana giriş yapıyoruz.


Project Propersites 'e tıklandıktan sonra açılan pencerenden ;

Sol menüde yer alan Libraries alanına tıklıyoruz. Ardından sağ alanda yer alan ADD .JAR/older menüsüne tıklıyoruz. Açılan yeni pencereden,

indirmiş olduğumuz jsoup paketini seçiyoruz. Ardından kaydedip çıkıyoruz aşağıdaki kodları projemizin içerisine yazıp çalıştırıyoruz.

JAVA KODLARIMIZ:

package com.sabah;

import java.awt.image.BufferedImage;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import javax.imageio.ImageIO;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.List;
import java.util.Random;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

public class sabahRss {

    public static void main(String[] args) throws ParserConfigurationException, IOException {
        String url=readRSSFeed("http://www.sabah.com.tr/rss/spor.xml"); // RSS site adresi
    }

    public static String readRSSFeed(String urlAddress) throws ParserConfigurationException, IOException{
   
       // site adına göre klasör olusturmak istiyorum bu yuzden site adını urlden ayıklamak için alttaki kodları yazdım.
        int sayac=0,p=0,j=0,t=0,id;
   
        char tut[]=new char [999];
        String src[]=new String[9999],tarih = null;
        Random random = new Random();
   
        for (int i = 0; i < urlAddress.length(); i++) {
            if(urlAddress.charAt(i)=='.'){
                sayac++;
                i++;
            }
            if(sayac>0 && sayac<2){// site adını www ile com arasındaki alanı aldım.
               tut[p] =urlAddress.charAt(i);
               p++;
            }
       
        }
        char siteAdiniTut[]=new char [p];
            for (int i = 0; i < p; i++) {
                siteAdiniTut[i]=tut[i];
            }
       
        // karekter olan siteAdiniTut dizisini stringe çevirdim.Artık elimde siteadı var.
        String siteadi = String.copyValueOf(siteAdiniTut);
   
        Document doc,docc;
        BufferedImage image =null;
        docc = Jsoup.connect("http://www.sabah.com.tr/rss/spor.xml").get(); // rss'ini çekeceğimiz site linki

        try{        
                 File s = new File("/Users/ibrahimbaloglu/Desktop/İCERİK");// icerik klasörü oluşturuldu
                 s.mkdir();
                    File r = new File("/Users/ibrahimbaloglu/Desktop/İCERİK/Resimler"); // içerik klasörü içinde resimler klasörü oluşturuldu
                 r.mkdir();
             
                 File resimdosyasi = new File(r+"/"+siteadi+"");
                 resimdosyasi.mkdir();
             
       
                 File dosya = new File(s+"/"+siteadi+".txt"); // site ismindeki klasörün içine attık veriyi.
             
                  FileWriter yazici = new FileWriter(dosya,false);
                  BufferedWriter yaz = new BufferedWriter(yazici);
             
             
            URL rssUrl = new URL (urlAddress);
            BufferedReader in = new BufferedReader(new InputStreamReader(rssUrl.openStream()));
            String sourceCode = "";
            String line;
       
                   
            while((line=in.readLine())!=null){
         
            Elements imgs = docc.select("title");
            for (Element img : imgs) {
            if (img.hasAttr("url")) {
            URL url = new URL(img.attr("url"));
                image = ImageIO.read(url);
                 ImageIO.write(image, "png",new File(resimdosyasi+"/"+j+".png"));
            j++;
            System.out.println(img.attr("url"));
              }
               }
                    //Tarih bilgisini elde ettim
                    if(line.contains("<pubDate>")){
                    int firstPos = line.indexOf("<pubDate>");
                    String temp = line.substring(firstPos);
                    temp=temp.replace("<pubDate>","");
                    int lastPos = temp.indexOf("</pubDate>");
                    temp = temp.substring(0,lastPos);
                     tarih=temp; // tarihi aşağıda sıralı kullanmak için burda değişkene attım.
                }    

                    //link,baslık ve içerik bilgisi elde ettim.
                    if(line.contains("<link>")){
                    int firstPos = line.indexOf("<link>");
                    String temp = line.substring(firstPos);
                    temp=temp.replace("<link>","");
                    int lastPos = temp.indexOf("</link>");
                    temp = temp.substring(0,lastPos);
               
                    //haberin text-area classındaki p ile yazılmıs tüm açıklamayı aldım.
                    doc = Jsoup.connect(temp).get();
                    String baslik = doc.select("title").text();
                    String icerik = doc.select("div.newsDetailText").text();

                     System.out.println("Baslık:"+ baslik);
                     System.out.println("Zaman: "+tarih);
                     System.out.println( "link: "+temp  );
                     System.out.println("İçerik: \n"+icerik );
                   
                      id=random.nextInt(100000000)+111223;
                       System.out.println("İD: "+id);
                 
                        //Dosyaya yazdıralım...
                     yaz.write("Başlık :"+baslik+"\n");
                     yaz.write("İd :"+id+"\n");
                     yaz.write("Zaman :"+tarih+"\n");
                     yaz.write("Link :"+temp+"\n");
                     yaz.write("İÇERİK : \n"+icerik+"\n\n------------------------------------------------------------\n \n");
                 
       
                }
           
            }

                        // RESİMLERİ ALDIM VE KAYIT ETTİM.
                        Elements imgs = docc.select("enclosure");
                        for (Element img : imgs) {
                            if (img.hasAttr("url")) {
                                URL url = new URL(img.attr("url"));
                                    image = ImageIO.read(url);
                                    j=random.nextInt(100000000)+111223;
                                     ImageIO.write(image, "png",new File(resimdosyasi+"/"+j+"_IBO.jpg"));
                                System.out.println(img.attr("url"));
                            }
                        }
       
                   
            yaz.close();
            in.close();
            return sourceCode;
        }
   
        catch (MalformedURLException ue){
            System.out.println("Hatalı url");
        } catch (IOException ioe){
            System.out.println("okuma hatası...");
        }
        return null;
    }

    private static void getImages(String src) {
        throw new UnsupportedOperationException("--");
    }
}

ÇIKTISI:








Umarım faydalı olmuştur. Esenle kalın...



YORUMLAR⤵

Ad

adli bilişim adli bilişim eğitimi Adli Bilişim İncelemelerinde Foremost ile Veri Kazıma İşlemi adli bilişim Malware adli bilişim mühendisi adlibilisim Android Hacking android hackleme android injection Android ve IOS İşletim Sistemlerinin Veritabanları ve Görevleri Nelerdir? cobalt strike analizi cobalt strike detect cobalt strike saldırısı cobalt strike tespiti digital forensic DumpIt DumpIt ile ram imajı alma dumpit indir foremost How detect Jigsaw Ransomware Malware ibrahim baloglu ibrahim baloğlu image live imaj canlandırma java JAVA ile Rss Üzerinden Veri Çekme Jigsaw Ransomware Malware jsoup kurulumu jsoup rss kodlama linux veri kurtarma live image malware Malware tespiti metasploit android hacking metasploit nedir mobil uygulamaların adli bilişim incelemesi Yaani Mail Uygulamasının Adli Bilişim Açısından İncelenmesi NTUSER.DAR ptt mesaj uygulaması ptt mesenger ptt mesenger indir ptt mesenger nedir ptt messenger purple team saldırısı ram ram imajı alma ram imajı nedir registry forensic registry parse rss veri çekme SAM sibergüvenlik SOFTWARE SYSTEM veri kurtarma volatility volatility ile ram inceleme volatility kullanımı volatility ram imajı windows forensic windows forensic eğitimi Windows şifresi elde etme yaani mail yaani mail adli bilişim incelemesi yani mail nedir yeni
false
ltr
item
İbrahim BALOĞLU | Adli Bilişim | Siber Güvenlik: JAVA ile Rss Üzerinden Veri Çekme İşlemi Nasıl Yapılır?
JAVA ile Rss Üzerinden Veri Çekme İşlemi Nasıl Yapılır?
https://4.bp.blogspot.com/-_dcVcGticr0/WWCqpQCyUWI/AAAAAAAACUg/fLv5r8Yn6IEOkQ-J9xCufjMcHDJWpUgbQCLcBGAs/s400/kodlama_nas%25C4%25B1l_o%25CC%2588g%25CC%2586renilir_wasd_red_programlama.jpg
https://4.bp.blogspot.com/-_dcVcGticr0/WWCqpQCyUWI/AAAAAAAACUg/fLv5r8Yn6IEOkQ-J9xCufjMcHDJWpUgbQCLcBGAs/s72-c/kodlama_nas%25C4%25B1l_o%25CC%2588g%25CC%2586renilir_wasd_red_programlama.jpg
İbrahim BALOĞLU | Adli Bilişim | Siber Güvenlik
https://www.ibrahimbaloglu.com/2018/05/java-ile-rss-uzerinden-veri-cekme.html
https://www.ibrahimbaloglu.com/
https://www.ibrahimbaloglu.com/
https://www.ibrahimbaloglu.com/2018/05/java-ile-rss-uzerinden-veri-cekme.html
true
631381070093278817
UTF-8
Konu Bulunamadı. Tümünü Gör Devamını Oku Yanıtla Yanıtlamaktan Vazgeç Sil Yazar Ana Sayfa Sayfa Yazılar Tümünü Gör Size Özel Başka Önerilerimiz⤵ Etiket Arşiv ARANAN Aradığınız kelimeyle alakalı henüz bir konumuz yok :( Ana Sayfa Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi Sun Mon Tue Wed Thu Fri Sat Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık Şimdi 1 dk. önce $$1$$ dk önce 1 saat önce $$1$$ saat önce Dün $$1$$ gün önce $$1$$ hafta önce 5 haftadan önce