HTML Parsing For C#
-
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.
-
parselemede ne kadarlık bir data kullanacaksın hocam? 3-5 satırsa oturup kendinde yaparsın
-
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.
-
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
-
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?
-
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.
-
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.
-
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.
-
C# sana yeter ve artar, artan performansınla oyun yazarsın o derece. Asyc metodları tpl kütüphanesini iyi kullan yeter .
-
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.
-
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.