2011-06-11 108 views
4

我目前有2個JavaScript變量,需要從中檢索值。 HTML由一系列沒有id/name屬性的嵌套DIV組成。是否可以使用HTMLAgilityPack從這些變量中檢索數據?如果是的話,我將如何去做,如果不是那麼需要,正則表達式?如果是後者,請幫助我創建一個正則表達式,以允許我這樣做。謝謝。C# - 使用HTMLAgilityPack獲取JavaScript變量值

<div style="margin: 12px 0px;" align="left"> 
<script type="text/javascript"> 
variable1 = "var1"; 
variable2 = "var2"; 
</script> 
</div> 
+1

我不敢肯定它會很容易在普通的事情。當然,HTML敏捷包可以幫助你在HTML中找到正確的元素,但是你必須解析javscript,而這需要另一個解析器。 – 2011-06-11 09:37:16

回答

3

我假設你試圖從網站上刮取這些信息?最有可能的是你沒有直接控制權?有幾種方法可以做到這一點,我會變得容易(至少我看到他們):

  1. 問問所有者(網站)。大多數時候他們可以直接訪問這些信息,如果你問的很好,他們可能只是讓你免費獲得它

  2. 你可以使用webBrowser控制,運行javascript,然後解析DOM中的值之後。與HttpWebRequest相反,這允許將所有適當的值加載到頁面上並進行刮取。 Helpful Link Here.

  3. Firebug.竊取源文件用Firebug檢查網站,看看哪些URL是從後臺調用的。最有可能的是,它使用異步請求從Web服務中檢索更新的信息。使用Firebug,你可以在NET-> XHR下查看它。查看請求和返回的值,然後可以檢索自己的值並從源代碼解析內容,而不是刮掉頁面。

我認爲這可能是你正在尋找的信息,但如果沒有讓我知道,我可以澄清/修復答案