您好,我正在使用asp.net中的網站,就像社交網絡一樣。用戶分享他們的更新和觀點。我能夠完成所有模塊,但現在已滿足要求。使用ASP.Net中的鏈接獲取網頁的圖片和描述
當用戶輸入更新狀態欄時,我想獲取圖片(不是頁面的屏幕截圖)和網頁鏈接的描述。就像Facebook一樣。當我們輸入一些鏈接時,它會得到它的縮略圖圖像,並且還會顯示該頁面的一些描述。
有人可以給我指示如何做到這一點在asp.net。有一些撐着或可用的代碼..
在此先感謝
您好,我正在使用asp.net中的網站,就像社交網絡一樣。用戶分享他們的更新和觀點。我能夠完成所有模塊,但現在已滿足要求。使用ASP.Net中的鏈接獲取網頁的圖片和描述
當用戶輸入更新狀態欄時,我想獲取圖片(不是頁面的屏幕截圖)和網頁鏈接的描述。就像Facebook一樣。當我們輸入一些鏈接時,它會得到它的縮略圖圖像,並且還會顯示該頁面的一些描述。
有人可以給我指示如何做到這一點在asp.net。有一些撐着或可用的代碼..
在此先感謝
您需要:
下載網頁
var html = new System.Net.WebClient().DownloadString(url);
解析爲HTML文件,或者只是使用正則表達式來查找所有圖像標籤。詳情請看answer。
閱讀元描述 - 再次已經回答here。
你也可以看看Html Agility Pack。
Html Agility Pack的豎起大拇指,它是一個更好的方式來獲取圖像,因爲你將對待html,它是一種標記語言,而不僅僅是隨機的文本。如果以後在項目中需要其他內容,它還可以更容易地從頁面中提取其他信息。 –
您可以使用該頁面的鏈接生成網頁的預覽縮略圖圖像並獲取元描述。
這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);
使用System.Net.WebClient()更容易嗎?您建議添加enteri system.windows.forms命名空間來獲取一個頁面和一個瀏覽器對象,因爲這是絕對不必要的。 –
@MurtuzaKabul你是對的是一個錯誤。我從我的舊代碼中複製了這些內容。 – Iver
我想你應該看看[這裏](http://stackoverflow.com/questions/2787497/generating-thumb-nail-image-of -a-web-page-in-a-link)以前的帖子 – Iver