2013-03-14 20 views
0

我正在C#/ C++上製作WinForms項目(取決於我能找到的最佳方式以實現我的目標,語言可以更改)。我需要從網站上獲取一個頁面並解析它以獲取一些信息。我是使用Visual C#/ C++進行網絡編程的初學者,我在這裏找到的所有答案對於初學者來說都太複雜了。你能幫我說出哪些標準類應該用於從某種形式從Internet獲取頁面,以及如何解析它。如果您有任何代碼示例,我會非常高興,因爲我上面寫道,我沒有網絡編碼的經驗,沒有時間詳細學習每一個術語。先謝謝你。在C#或C++上從Internet上獲取和解析網頁

+0

看System.Net.HttpWebRequest類和HtmlAgilityPack(一個開源庫)來進行解析。 – 2013-03-14 02:57:56

回答

1

您可以使用C#來下載特定的網頁,然後做了分析,下載的代碼示例:

using System.Net; 
using System.IO; 
using System.Windows.Forms; 

string result = null; 
string url = "http://www.devtopics.com"; 
WebResponse response = null; 
StreamReader reader = null; 

try 
{ 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
    request.Method = "GET"; 
    response = request.GetResponse(); 

    ContentType contentType = new ContentType(response.ContentType); 
    Encoding encoding = Encoding.GetEncoding(contentType.CharSet); 

    reader = new StreamReader(response.GetResponseStream(), encoding); 
    result = reader.ReadToEnd(); 
} 
catch (Exception ex) 
{ 
    // handle error 
    MessageBox.Show(ex.Message); 
} 
finally 
{ 
    if (reader != null) 
     reader.Close(); 
    if (response != null) 
     response.Close(); 
} 
+0

使用''''而不是'finally' – 2013-03-14 03:52:40

+0

有什麼區別? – gthacoder 2013-03-15 19:17:02

2

退房這個項目「here」,它們的代碼示例「here