Hesap Bilgilerinizi Girin



işlem Yapılıyor ....
Giriş

E-Mail Adresinizi Girin



işlem Yapılıyor ....
Gönder

HtmlAgilityPack ile Html Parsing işlemlerinde Yaşanan Seçici Problemine Çözüm Getirmek

Yazar by Murat SOYLUOGLU / followers count 198
10.3.2018 12:15:55
 1

HtmlAgilityPack ile Html Parsing işlemlerinde Yaşanan Seçici Problemine Çözüm Getirmek

HtmlAgilityPack aracını kullanarak HTML parse programı üreten arkadaşların yaşadığı en birinci problem parse edilecek linkin seçici class'ını seçme işleminde meydana gelmektedir.Örneğin kullandığımız şu kod satırında,
HtmlNodeCollection link = document.DocumentNode.SelectNodes("//a[@class='haberRenklendir']"); 
görüldüğü üzere seçici olarak kullanılan haberRenklendir adında bir class mevcut başka isimlerde de olabilir veya hiç olmayabilir. hatta haber başlıklarını çektiğiniz onlarca yüzlerce site ve her siteden toplamda binlerce haber başlığı içeriği çekiyor olabilirsiniz demektir ki yüzlerce değişik class ismi ile uğraşacaksınız peki bu durumda ne yapacağız? elbetteki kendi yöntemlerimizi veya başka arkadaşlarımızın ürettiği çözümlere baş vuracağız.
Benim makalemi yazma amacım ise tamda bu seçici olarak kullandığımız class'larımızı standart olarak isimlendirmeye dayalı. Diğer yöntemleri deneyebiliriz ama  söz konusu class'ımızı bir standart olarak isimlendirirsek hem biz hemde başkaları HTML Parse işlemlerinde artık kaynak kodları arasında acaba class varmı varsa ismi ne yoksa ne yaparım şeklinde dertleri olmayacaktır. yapacağımız işlem çok basit.

ÇÖZÜM

Eğer siz sitenizin haber ,blog, makale,köşe yazısı hatta magazin,foroğraf,sinema sanat vs.linklerinizi HTML Parse yöntemi ile başka siteler ile paylaşmak istiyorsanız, veya arkadaşlarınızın sitelerinden veri çekmek istiyorsanız onlar ile birlikte şu Class isimlendirmelerini standart olarak uygulamanızı öneririm.

<a class="haber,news" href="">haber linkiniz için bu şekilde iki class isminide verin</a>
<a class="blog" href="">blog linkiniz için bu şekilde class isimleri verin</a>
<a class="makale,article" href="">makale linkiniz için bu şekilde iki class isminide verin</a>
<a class="kose_yazisi,corner" href="">köşe yazısı linkiniz için bu şekilde iki class isminide verin</a>


AŞAĞIDAKİ Standdartlaştırdığım Class isimlerinden Örnekleri Sitenizde Kullanmanızı öneririm.

HtmlAgilityPack_landscape = Yer,konum,Arazi,Adres,Restoran,turistik yer vs. linkleriniz için.
örnek : <a class="HtmlAgilityPack_landscape" href="mysite.com/gezilecekYerler.html">Gezilecek Yerler</a>

HtmlAgilityPack_conference = konferanslar linkleriniz için. 
<a class="HtmlAgilityPack_conference" href="mysite.com/konferanslar.html">Güncel Konferanslar</a>

HtmlAgilityPack_fair = Fuar linkleriniz için. 
<a class="HtmlAgilityPack_fair" href="mysite.com/fuarlar.html">Güncel Fuarlar</a>

HtmlAgilityPack_seminar = seminer linkleriniz için. 
<a class="HtmlAgilityPack_seminar" href="mysite.com/seminer.html">Güncel Seminerler</a>

HtmlAgilityPack_activity = Aktiviteler linkleriniz için. 
<a class="HtmlAgilityPack_activity" href="mysite.com/aktivite.html">Güncel Aktiviteler</a>

HtmlAgilityPack_spor = Spor etkinlikleri linkleriniz için. 
<a class="HtmlAgilityPack_spor" href="mysite.com/sporaktiviteleri.html">Güncel Spor Aktiviteleri</a>

HtmlAgilityPack_exhibition = Sanat sergi gibi linkleriniz için. 
<a class="HtmlAgilityPack_exhibition" href="mysite.com/sanatSergi.html">Güncel Sergiler</a>

HtmlAgilityPack_photograph = Fotografçılık gibi linkleriniz için. 
<a class="HtmlAgilityPack_photograph" href="mysite.com/fotograf.html">Fotografçılık Derslerimiz</a>

HtmlAgilityPack_music = Müzik dersleri,organizasyonları gibi linkleriniz için. 
<a class="HtmlAgilityPack_music" href="mysite.com/muzik.html">Müzik Konser Biletleri</a>

HtmlAgilityPack_cinema = Sinema bilet,gala, dersleri,organizasyonları gibi linkleriniz için. 
<a class="HtmlAgilityPack_cinema" href="mysite.com/sinema.html">Sinema Seansları ve Biletleri</a>

HtmlAgilityPack_theater = Tiyatro bilet,gala, dersleri,organizasyonları gibi linkleriniz için. 
<a class="HtmlAgilityPack_theater" href="mysite.com/tiyatro.html">Tiyatro Seansları ve Biletleri</a>

HtmlAgilityPack_video = Video çekim, dersleri,organizasyonları,youtube kanalı gibi linkleriniz için. 
<a class="HtmlAgilityPack_video" href="mysite.com/video.html">Düğün Video ve Youtube Örneklerimiz</a>

HtmlAgilityPack_research = Araştırma,bilimsel aktivite gibi linkleriniz için. 
<a class="HtmlAgilityPack_research" href="mysite.com/arastirmalarim.html">Botanik ve Tropikal Araştırmalarım</a>

HtmlAgilityPack_cover = Kapak resmi,konusu,haberi gibi linkleriniz için. 
<a class="HtmlAgilityPack_cover" href="mysite.com/kapakKizi.html">Ayın Foto Modeli</a>

HtmlAgilityPack_magazine = magazin haberi gibi linkleriniz için. 
<a class="HtmlAgilityPack_magazine" href="mysite.com/magazin.html">Top Model Türkiye'de</a>

HtmlAgilityPack_news =haber linkleriniz için. 
<a class="HtmlAgilityPack_news" href="mysite.com/haberler.html">Guncel haberler</a>


HtmlAgilityPack_corner =köşe yazıları linkleriniz için. 
<a class="HtmlAgilityPack_corner" href="mysite.com/KoseYazilari.html">Günün Köşe Yazıları</a>

HtmlAgilityPack_breakingnews =Son dakika haberleri linkleriniz için. 
<a class="HtmlAgilityPack_breakingnews" href="mysite.com/sonDakika.html">Son Dakika !!!</a>

Yukarıdaki class isimlerini yan yana birden fazla kullanabilirsiniz.

sample pictures
DUZCEINFO.ORG sitesinde geliştirmekte olduğum Pembe Panter adlı HTML Parser yazılımım üzerinden ifade edecek olursam her hangi bir sitenin url adresini veritabanımda tuttuğumu düşünün, site içeriğini DUZCEINFO.ORG ile paylaşmak isteyen site yöneticisinin tek yapması gereken şey paylaşacağı içeriğin linkine yada linklerine yukarıda belirttiğim class isimlerini vermesi yeterlidir artık DUZCEINFO.ORG onun sitesini ziyaret ettiğinde html kodları arasından atanan class ismine bakıp bu benim için işaretlenmiş diyerek alıp getirecektir..
Görüldüğü üzere Pembe Panter programım ile veritabanımda kayıtlı siteleri ziyaret ederek class isimlerini bildirip şu class ismine sahip içeriği getir diyorum ve ilgili içerik geliyor..elbetteki siz bunu arka planda çalışan bir uygulamada kullanacaksınız. Zaten benim çalışmalarımda size yardımcı olmak adına geliştirilen bir takım standartlar ve programcıklardan oluşmaktadır.
artık sizde HTML dünyasına katkı sağlamış olacaksınız.. 

Konu ile ilgili sorularınız olursa dogfish@hotmail.com adresime yazabilirsiniz çalışmalarınızda başarılar dilerim başka bir makalemde görüşmek üzere hoşçakalın.

Yazılım Uzmanı Murat SOYLUOGLU


yorumlar
64x64

Yönetici Cassandra

10.12.2019
MERHABA Hoşgeldiniz ! Henüz kimse yorum yapmadı ilk yorumu siz yapmak istermisiniz?
Yorum yapabilirsiniz!
Özet:*
Kalan Karakter :
Gönder

Comment Side Created by Aramis
unicef