Merhaba, sorunum şu ben html dosyamın içindeki veriyi alıp listeye aktarıyorum. Şimdi sorun şu ol etiketi içindeki li etiketinin içindeki p etiketinin içinde 2 farklı kelime var. Biri strong etiketi içerisinde yazıyor bu ingilizce kelime biri ise direk yazılı yani ekstra strong etiketi kullanılmıyor. Ben HtmlAgilityPack ile strong etiketi içindeki kelimeyi aldım fakat strong olmayan kelimeyi alınca strong etiketi içindeki ingilizce kelimede geliyor. Ben nasıl strong'un gelmesini iptal ederim?
Bakın üstte resimde sol tarafta "accountant" yazıyor bunu alırken sorun yok fakat sağ tarafaki "muhasebeci" kelimesini alırken "accountant" kelimeside geliyor. Bunları nasıl ayırırım?
accountant'ı aldığım kod:
C#:
List<string> englishKeywords = new List<string>();
HtmlAgilityPack.HtmlWeb htmlWeb = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument htmlDocument = htmlWeb.Load(@"dosyaKonumu");
foreach (HtmlAgilityPack.HtmlNode selectNode in htmlDocument.DocumentNode.SelectNodes("//ol//li//p//strong"))
{
englishKeywords.Add(selectNode.InnerText.ToString());
}
return englishKeywords;
Üstte verdiğim c# kodunun aynısını strong olmayan kelimeyi almak içinde kullanıyorum şu şekilde: //ol//li//p fakat strong'u dahil ediyor. Benim strong'u devre dışı bırakmam gerek nasıl yaparım?
Hocam doğru anlamışsınız. Ben strong'un dışındaki alanı almak istiyorum ama alamadım maalesef. Split ile çektiğim veriyi bölüp dictionary'e atıp işledim. Teşekkür ediyorum ama yardımlarınız için.
Hocam zaten <strong>ifade</strong> şeklinde gelmiyor. afraid: korkmuş şeklinde geliyor. Benim istediğim agility pack ile çekerken doğrudan ayrı ayrı çekemem mi diye sormaktı aslında.
Hocam zaten <strong>ifade</strong> şeklinde gelmiyor. afraid: korkmuş şeklinde geliyor. Benim istediğim agility pack ile çekerken doğrudan ayrı ayrı çekemem mi diye sormaktı aslında.
HTML tagları arasında <template> isimli bir tag mevcut. Kodda yer alır ancak render esnasında DOM'a eklenmez. Eğer <strong>foo:</strong> <template>bar<template/> şekline getirirseniz p içerisindeki template diyerek hiç uğraşmadan çekebilmeniz gerekiyor. (Template kaynak kodda bulunur ancak browserda renderlanmış sitede görünmez. Bu yüzden veri çekme botu için uygun değil. Ancak HTML dosya parse için uygun.)
Eğer veriler size ait değilse filtreleme yapmak çok daha kolay.