96

HTMLWeb サイトからコードを取得して保存し、式を使用してテキストを検索するにはどうすればよいLINQですか?

次のコードを使用して、Web ページのソースを取得しています。


public static String code(string Url)
{
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
    myRequest.Method = "GET";
    WebResponse myResponse = myRequest.GetResponse();
    StreamReader sr = new StreamReader(myResponse.GetResponseStream(),
        System.Text.Encoding.UTF8);
    string result = sr.ReadToEnd();
    sr.Close();
    myResponse.Close();
    
    return result;
}

Web ページのソースの div 内のテキストを見つけるにはどうすればよいですか?

4

7 に答える 7

186

Webclient クラスを使用してタスクを簡素化することをお勧めします。

using System.Net;

using (WebClient client = new WebClient())
{
    string htmlCode = client.DownloadString("http://somesite.com/default.html");
}
于 2013-05-20T04:38:30.210 に答える
118

Web サイトから HTML コードを取得します。次のようなコードを使用できます。

string urlAddress = "http://google.com";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

if (response.StatusCode == HttpStatusCode.OK)
{
    Stream receiveStream = response.GetResponseStream();
    StreamReader readStream = null;
    if (String.IsNullOrWhiteSpace(response.CharacterSet))
        readStream = new StreamReader(receiveStream);
    else
        readStream = new StreamReader(receiveStream,
            Encoding.GetEncoding(response.CharacterSet));
    string data = readStream.ReadToEnd();
    response.Close();
    readStream.Close();
}

これにより、ウェブサイトから返されたものが得られますHTML。しかし、テキスト検索LINQはそれほど簡単ではありません。正規表現を使用した方がよいかもしれませんが、それではうまく機能しませんHTML

于 2013-05-20T03:47:13.140 に答える