2012-10-06 21 views
3

您好,我正在使用asp.net中的網站,就像社交網絡一樣。用戶分享他們的更新和觀點。我能夠完成所有模塊,但現在已滿足要求。使用ASP.Net中的鏈接獲取網頁的圖片和描述

當用戶輸入更新狀態欄時,我想獲取圖片(不是頁面的屏幕截圖)和網頁鏈接的描述。就像Facebook一樣。當我們輸入一些鏈接時,它會得到它的縮略圖圖像,並且還會顯示該頁面的一些描述。

有人可以給我指示如何做到這一點在asp.net。有一些撐着或可用的代碼..

在此先感謝

+0

我想你應該看看[這裏](http://stackoverflow.com/questions/2787497/generating-thumb-nail-image-of -a-web-page-in-a-link)以前的帖子 – Iver

回答

4

您需要:

  1. 下載網頁

    var html = new System.Net.WebClient().DownloadString(url);

  2. 解析爲HTML文件,或者只是使用正則表達式來查找所有圖像標籤。詳情請看answer

  3. 閱讀元描述 - 再次已經回答here

你也可以看看Html Agility Pack

+0

Html Agility Pack的豎起大拇指,它是一個更好的方式來獲取圖像,因爲你將對待html,它是一種標記語言,而不僅僅是隨機的文本。如果以後在項目中需要其他內容,它還可以更容易地從頁面中提取其他信息。 –

-2

您可以使用該頁面的鏈接生成網頁的預覽縮略圖圖像並獲取元描述。

previous post這個代碼可能會有所幫助:

System.Windows.Forms.WebBrowser web = new System.Windows.Forms.WebBrowser(); 
web.ScrollBarsEnabled = false; 
web.ScriptErrorsSuppressed = true; 
web.Navigate("http://www.your_url.com/with_params"); 

while (web.ReadyState != WebBrowserReadyState.Complete) 
Application.DoEvents(); 

//this is where we start search the DOM for our meta information and extract the content attribute into a usable string. 
String meta = (web.Document.GetElementsByTagName("meta")[0]).GetAttribute("content"); 
System.Console.WriteLine("Meta Value is {0}", meta); 
+0

使用System.Net.WebClient()更容易嗎?您建議添加enteri system.windows.forms命名空間來獲取一個頁面和一個瀏覽器對象,因爲這是絕對不必要的。 –

+0

@MurtuzaKabul你是對的是一個錯誤。我從我的舊代碼中複製了這些內容。 – Iver

相關問題