如何獲得通過AJAX與HTML Agility Pack生成的HTML?

ajax asp.net c# html html-agility-pack

我正在嘗試解析網頁。通過AJAX, WebClient.DownloadString生成的那個頁面的一部分我可以獲得整個HTML,除了通過AJAX生成的代碼?請問有人幫幫我嗎?

我的代碼是:

var client = new WebClient();
client .Headers.Add(HttpRequestHeader.UserAgent, "UserAgent,Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1");
client.Headers.Add(HttpRequestHeader.Cookie, "USER_PW=xxxxxxxxx; PHPSESSID=xxxxxxxxxxxxxxxxxx");
var html = client.DownloadString("xxxxxxxxxx");

我需要空缺名單......

一般承認的答案

它可以獲取通過AJAX生成的內容但是它不是直接的任務 ,所有你得到的是頁面源(當你右擊並說出查看頁面源時你可以看到的相同)

要獲取ajax內容,您必須記下AJAX調用命中的URL,然後再調用此url來獲取內容。 You can get this if you inspect the Network Tab of the developer window in any browser或者甚至查看其中的javascript代碼, You can get this if you inspect the Network Tab of the developer window in any browser

缺點:這也意味著你只需要獲得AJAX調用的響應,但是如果javascript正在操作這個響應(比如用json響應創建一個表)。您可能需要在最後手動執行此操作。

所以它也意味著你最終會編寫與javascript相同的邏輯來獲得結果HTML,這似乎有很多痛苦和錯誤的漏洞。

優點:如果您只關注HTML中的數據(如網站數據庫中的數據)而不是確切的HTML本身,那麼這種方法對您有用。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因