İPUCU

Java Object Oriented Programming temeline dayanan, çok işlevli, step by step işleyen dilin dökümanlarının paylaşım alanı.

Seçenekler

Jsoup Nedir ve Nasıl Kullanılır ? //Sanayeryokburada

20-07-2017 20:39
#1
Üyelik tarihi:
07/2015
Nereden:
Öz Yurdunda
Yaş:
19
Mesajlar:
1.714
Teşekkür (Etti):
86
Teşekkür (Aldı):
209
Konular:
194
Jsoup Nedir ve Nasıl Kullanılır ?

Jsoup html parse etmemizi sağlayan bir kütüphanedir. Bu kütüphaneyle birçok şey yapabiliriz. Projemize dahil ettiğimiz andan itibaren projemizden bir web sayfasını response edebiliriz ve geri dönen değerlerle çalışmalar, değişiklikler veya bir web sayfasının içindeki bir veriyi alabiliriz. Jsoup neden ihtiyaç duyarız:

Jsoup web servis olmadığı bir web projesinde mobil veya başka projeden verilere erişmekte kullanabiliriz. Dezavantajı ise projemizde kullanıldıktan sonra html in etiketleri (tag leri) değişince projemiz çalışmayacaktır. Html i parse ederken divlerin css özelliklerinden faydalanırız. Programımızda hangi divin içini alacaksak onun yolunu veriyoruz. Yolunu verme işlemindede kolaylık açısından örnek vermem gerekirse hangi div url diye soracaksanız o konuda;

1-) Hangi alanı alacaksak crome tarayıcısını kullanarak üzerine gelip sağ tıklayıp “Ögeyi denetle“ye tıklıyoruz ve aşağıda seçili gelen yazıya yine sağ tıklayıp “Copy CSS Path” seçeneğine tıklıyoruz.Ve projede kullanırken html in elementini buluyoruz.

2-) Firefox içinde benzer bir yöntem geçerlidir. Alınacak alana sağ tıklayıp öğeyi denetle dedikten sonra sayfanın altında seçili olarak gelen alana sağ tıkladığımızda açılaan birçok seçenek içerisinden eşsiz seçiciyi kopyala diyerek projede kullanılacak html elementine ulaşıyoruz.

Bunları kullanmak için en gerekli şey tabiki jsoup edinmek. Bu yüzden öncelikle jsoup kütüphanesini projemize eklemeliyiz. http://jsoup.org/download bu adresten güncel jsoup jar’ını indirebilirsiniz. Benim tavsiyem maven kullanmanız. Bu işlemleri o sizin yerinize yapar.Burada maven için size yardımcı olabilecek bilgiler var


Örnek:

Şimdi öncelikle html elementine(nesnesine) ulaşmak istediğmiz url’i String değişken olarak tanımlamalıyız.


String url="www_siteniz_com";

Yukarıdaki url’e jsoup’la bağlantıyı sağlıyoruz.

Response response = Jsoup.connect(url).timeout(30000).execute();

Bağlantısı sonucunda response’u parse ederek doc değişkenine atıyoruz.

******** doc=response.parse();

Artık url’in içeriği bir belge olarak elimizde.Şimdi de bu doc’dan div tag’i altındaki span tag’i içindeki elementi seçiyoruz.

Elements elements = doc.select("Elementler*");

Seçtiğimiz elementi console a yazdırıyoruz.

System.out.println(elements.first().text());

Sadece text() dersek price iki defa console’a yazılıcak.first() diyerek birincisini yazdırabiliyoruz.

Örnek:

import org.jsoup.Jsoup;
import java.io.IOException;
import org.jsoup.Connection.Response;
import org.jsoup.nodes.********;
import org.jsoup.select.Elements;

public class Main {

public static **** main(String[] args){
try {
String url = "http://turkhackteam.org/Forum/";
Response response = Jsoup.connect(url).timeout(30000).execute();
******** doc = response.parse();
Elements elements = doc.select("td.Tdinfo:nth-child(2)");
System.out.println(elements.text());
} catch (IOException e) {
e.printStackTrace();
}
}
}


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı