2016-07-22 178 views
0

我用這個下面的代碼從下載從谷歌搜索URL.html文件沒有從谷歌搜索URL

HttpClient client = new HttpClient(); 
var response = await client.GetAsync("https://www.google.co.in/?gws_rd=ssl#q=chiranjeevi+movies"); 
var sdata = response.Content.ReadAsStringAsync().Result; 

HTML內容。當我檢查上瀏覽我找到div標籤「klitem」類下載,但當讀出時我的反應是沒有顯示,我不是沒有爲什麼它沒有顯示當我下載的網址內容,任何人請幫助我...

+0

也許標籤是通過JavaScript動態創建的? –

回答

0

當我檢查瀏覽器,我發現「klitem」類與div標籤,但是當閱讀我的回覆時,它沒有顯示,我不知道爲什麼當我下載url內容時沒有顯示。

當你在瀏覽器上檢查時,你可以找到一些HTML元素。實際上,它們是由Web瀏覽器呈現的DOM樹中的元素。他們不在響應內容中。

如果你看一下開發工具的網絡工具,你會發現,當你打電話給你的網址,瀏覽器會發送多個請求,並在第一個請求時,它會返回一個HTML頁面,像下面
enter image description here

這是從您的回覆中讀取的內容。與網頁瀏覽器不同,HttpClient只能從一個請求獲得響應。我們無法從中得到最終的DOM樹。 Google不會直接返回搜索結果。正如@Mehrzad所說,最終的結果可能是通過JavaScript動態創建的。如果您檢查網絡工具,您會發現其中有很多JavaScript請求,而不是靜態頁面。

+0

Zuo有沒有什麼辦法可以得到這個html內容..? –

+0

@DeviPrasad我不確定你想要獲得什麼html內容。您可以嘗試使用此網址:https://www.google.co.in/search?q = chiranjeevi + movies'來獲取Google返回的html頁面。但是,這個html頁面也包含了很多JavaScript代碼。這不是一個靜態頁面,你可能不會得到你想要的html元素。獲得渲染DOM樹的一種可能方式是使用'WebView'控件首先加載頁面,然後用腳本調用以獲取[我以前的答案]中的內容(http://stackoverflow.com/questions/33574852/uwp -webview-得到鏈接從 - 網頁 - 到 - 一個陣列)。 –