HTML Parsing For C#

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    Merhaba dostlar.

    Bir projemde html parsing işlemi yapmam gerekiyor. fakat işlem performansının yani hızının iyi olması çok önemli. 

    HtmlAgilityPack isimli bir kütüphane buldum. fakat varsa sizin önerilerinizide almak isterim. Kolaylık ve hız açısından tavsiyelerinizi dört gözle bekliyorum.

    iyi çalışmalar.

     

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    crafty
    crafty's avatar
    Kayıt Tarihi: 19/Eylül/2006
    Erkek

    parselemede ne kadarlık bir data kullanacaksın hocam? 3-5 satırsa oturup kendinde yaparsın


    Kasnak yuvarlandı elek oldu, eski orospular melek oldu...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    htmlagilitypack alanındaki en iyi kütüphane. DOM nesnelerine ister obje olarak ulaşabilirsin,ister xpath olarak ulaşabilirsin regexle vs. uğraşmadan istediğin nesnenin istediğin attribute une vs. ulaşabilirsin.

     

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek
    FCN bunu yazdı

    htmlagilitypack alanındaki en iyi kütüphane. DOM nesnelerine ister obje olarak ulaşabilirsin,ister xpath olarak ulaşabilirsin regexle vs. uğraşmadan istediğin nesnenin istediğin attribute une vs. ulaşabilirsin.

     

    itina ile destekliyorum. Başka bir kütüphaneye ihtiyaç duymadığım içinde araştırmadım hiç. C# html yanyana geçiyorsa mutlaka bu kütüphaneyi denemelisin hocam


    Titanyumun gücü adına!!!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    yacağım işte performans çok önemli  bir arkadaş c# performansı iyi olmaz dedi. 

    oturdum şimdi javascript çalışıyorum. projeyi javascript olarak yazmayı düşünüyorum. 

    fikriniz?

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek
    Asayisci bunu yazdı

    yacağım işte performans çok önemli  bir arkadaş c# performansı iyi olmaz dedi. 

    oturdum şimdi javascript çalışıyorum. projeyi javascript olarak yazmayı düşünüyorum. 

    fikriniz?

    Burdaki tercih sebebi faktörler
    1- programda nekadar performansa ihtiyacın var. (atacağın taş ürküttüğün kurbağa ya değecek mi? )

    2- Projenin genel olarak çıkış süresini hesabına katıyor musun ? 

    şöyle ki .net teknolojileri sana bir çok kütüphaneyi kullanman için hazır olarak sana sunuyor. Bu genel olarak zamandan oldukça fazla tasarruf etmeni sağlıyor.  Fakat kendi teknolojisinden ötürüde bir framework üzerinde yazdığın için önce yazdığın kod CIL'e çevrilir ve CLR üzerinde çalıştırılarak bilgisayarın anlayacağı bir hale getirilir.  Tabi buda çeşitli performans kayıplarına neden olsada ürünlerin hızlı çıkması firmaların tercih sebebi olduğu için gözardı edilir ve c# tercih edilir.  Oyüzden programın geri kalanında başka yapacağın bişiler de varsa onlarıda düşünerek ona göre bir dil seçimi yapabilirsin.

    eğer detaylı bir string parse işlemi yapıcaksan bir çok dilde html parse için çeşitli kütüphaneler mevcut. Ama ben genel olarak detaylı bir string parse işlemi uygulayacağını varsayarak regex kullanacağını baz alıp. örnek bir link aşağıya bırakıyorum. regex ile alakalı bir çok benchmark bulabilirsin.

    https://github.com/mariomka/regex-benchmark

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    Asayisci bunu yazdı

    yacağım işte performans çok önemli  bir arkadaş c# performansı iyi olmaz dedi. 

    oturdum şimdi javascript çalışıyorum. projeyi javascript olarak yazmayı düşünüyorum. 

    fikriniz?

    Hangi gara cahil dedi bunu? O arkadaşının kafasına kürekle vur ve kaç.

    .c# dan javascript e geçmek daha şizofrenik bir tercih olmuş.

     

    Performans kriterini ve çalışma ortamını tam olarak anlat ki tavsiyede bulunalım.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek
    DrKill bunu yazdı
    Asayisci bunu yazdı

    yacağım işte performans çok önemli  bir arkadaş c# performansı iyi olmaz dedi. 

    oturdum şimdi javascript çalışıyorum. projeyi javascript olarak yazmayı düşünüyorum. 

    fikriniz?

    Hangi gara cahil dedi bunu? O arkadaşının kafasına kürekle vur ve kaç.

    .c# dan javascript e geçmek daha şizofrenik bir tercih olmuş.

     

    Performans kriterini ve çalışma ortamını tam olarak anlat ki tavsiyede bulunalım.

    açıkçası dropshipping ile alakalı bir program yazmak istiyorum

    amazonda ürün arayacağım. bunun için yazılmış chrome eklentileri var ama malum ücretli.

    bunu önce c# da yapmayı düşündüm. zira javascripte göre daha hakimin bu dile.

    fakat c#'ın html parsing işleminde javascripte göre hantal kalacağını söyleyen bir arkadaş nedeniyle 3 gündür javascript çalışıyorum :)

    tavsiyelerinizi bekliyorum.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    C# sana yeter ve artar, artan performansınla oyun yazarsın o derece. Asyc metodları tpl kütüphanesini iyi kullan yeter .

     

     


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek
    DrKill bunu yazdı

    C# sana yeter ve artar, artan performansınla oyun yazarsın o derece. Asyc metodları tpl kütüphanesini iyi kullan yeter .

     

     

    yalnız yapacağım işi iyi anlatabildim mi bilmiyorum.

    amazon ürün arama sayfasını açtıktan sonra girilen kriterlere göre load olan html sayfalarını parsing işlemi yapacak

    örnepin ürün kodu, stok adedi, fiyatı gibi bilgileri view okuyarak almam gerekiyor. 

    bu arada yukarıda bahsetmişolduğunuz kütüphane ve metodu ilk defa duydum.

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    c# ile ufak bir başlangıç yaptım.

    çözemediğim bir sıkıntı var.

     var url = "https://www.amazon.com/s/ref=sr_il_to_photo?fst=as%3Aoff&rh=n%3A172282%2Cn%3A502394%2Ck%3Acamera%2Cp_n_condition-type%3A2224371011&keywords=camera&ie=UTF8&qid=1543763277&lo=none";
                var httpClient = new HttpClient();
                var html =  httpClient.GetStringAsync(url);
                
    
                HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
                htmlDocument.LoadHtml(html.Result.ToString());
    
                var ProducList = htmlDocument.DocumentNode.Descendants("ul")
                    .Where(node => node.GetAttributeValue("id", "")
                    .Contains("s-results-list-atf")).ToList();
                int say = ProducList.ToList().Count;
    

    kaynak koda bakıyorum 24 adet ürün olması gerekirken ProducList de sadece 4 ürün var.

    sebebini çözemedim.

Toplam Hit: 3943 Toplam Mesaj: 16
html parsing htmlagilitypack