2010-10-02 19 views
10

Bir web sitesinin içeriğini, Html Agility paketiyle dinamik olarak doldurmak için Javascript kullanan bir web sitesini kazıyorum.Html Çeviklik Paketi: Yorum Bul Düğüm

Temel olarak, XPATH "\\div[@class='PricingInfo']"'u arıyordum, ancak div düğümü Javascript aracılığıyla DOM'a yazılıyordu.

Sayfayı Html Agility paketi aracılığıyla yüklediğimde, yukarıda belirtilen XPATH bulunamıyor.

Ayrıştırmak istediğim belirli bir komut dosyası bloğundan önce bir yorum var. Bu site için

<!--Module 328 Buying Options Table--> 
<script type="text/javascript" language="JavaScript"> 
    var data = { 
     price: 30.00 
    } 
</script> 

, birçok komut blokları vardır ve bu yüzden doğru komut dosyası bloğu olacağını bulgu otomatik olarak oluşturulan bu açıklama <!--Module 328 Buying Options Table--> ve bu düğümün kardeş tarafından daraltmak gerekir.

Belirli bir yorumu nasıl arayacağımı ve sonra yalnızca bitişik komut dosyası bloğunu nasıl alabileceğimle ilgili bir fikriniz var mı?

Teşekkür ederiz!

+1

+1 normal ifadeleri kullanmamak için! – TrueWill

cevap

15
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script") 
+0

bir çekicilik gibi çalıştı. teşekkür ederim! Şimdi, Javascript nesnesini ayrıştırmanın bir yoluna ihtiyacım var. – Abe

+0

Sadece bir şey daha eklemek için. Komut dosyası notunu aldığımda, normal ifadeleri kullanarak ihtiyacım olan bilgileri ayrıştırabildim. Teşekkürler! – Abe

İlgili konular