2010-08-08 100 views
1

Iam構建需要廢棄一些Web內容的刮板。 Iam面臨一個問題,我需要抓取的頁面有大量的Java腳本,並且似乎java-script調用正在爲下一個請求設置一些cookie和一些查詢字符串參數。有沒有一種方法可以使用我的C#代碼編譯Javascript?

Iam能夠通過向js文件發送請求來設置cookie,但似乎查詢字符串params正在通過一些編碼的javascript調用生成。

我不能解密它們,我試着用Google搜索工具來編譯JS到C#但徒勞。如果有人早些時候已經解決了類似的問題,請闡明我如何編譯一個JavaScript文件,如瀏覽器,並直接從我的C#代碼生成HTML。

任何幫助將深表謝意。

回答

4

爲什麼不使用像fiddler這樣的網絡代理來查找設置了哪些標頭和Cookie,並直接在C#中使用這些數據?

這樣你就不需要執行JS來找出頭和cookie。

更新:

您也可以使用Web自動化套件如WatiN抓取網站 - 我相信它已經支持JS,所以你並不需要做更多的工作。

UPDATE2:

由於華廷沒有什麼好您的要求,也許它直接使用JavaScript來.NET編譯將有可能編譯 - 見JScript.NET,但我懷疑任何DOM操作將導致。

+0

這將僅適用於靜態Cookie的工作。如果腳本集使用花哨的邏輯與會話ID來生成cookie,則您需要複製邏輯。這很難,而且拼湊往往很難。 – 2010-08-08 07:45:24

+0

@Mikael Svenson - 真夠的。將添加其他選項。 – Oded 2010-08-08 07:47:03

+0

+1 @Oded:與WatiN的良好聯繫,對於「麻煩」的網站來說是個不錯的選擇。但我不會將它用於批量抓取,因爲它使用IE/FF進行實際抓取,並且可能需要您將站點添加到「可信站點」等。 – 2010-08-08 09:41:11

相關問題