0

次の方法を使用して、Web サイトからソース コードを取得しています。

class WorkerClass1
{
    public static string getSourceCode(string url)
    {
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
        StreamReader sr = new StreamReader(resp.GetResponseStream());
        string sourceCode = sr.ReadToEnd();
        sr.Close();
        return sourceCode;
    }
}

そして、そのまま実装しますWorkerClass1-

private void button1_Click(object sender, EventArgs e)
    {
        string url = textBox1.Text;
        string sourceCode = WorkerClass1.getSourceCode(url);
        StreamWriter sw = new StreamWriter(@"path");
        sw.Write(sourceCode);
        sw.Close();

    }

これはうまく機能し、ホームページから HTML を取得しますが、最初のページが取得されたら、ページの下部にリンクがあります。

これを行うために現在のコードを変更する方法はありますか?

4

1 に答える 1

1

はい、もちろん。

私がすることは、リンクを探す正規表現を使用してHTMLを読み取ることです。一致するたびに、それらのリンクをキューまたは同様のデータ構造に配置し、同じ方法を使用してそのソースを調べます。

解析のためにHTMLAgilityPackを検討することを検討してください。リンクの検索は、Googleを使用すると非常に簡単なはずですが、より簡単な場合があります。

于 2012-10-24T11:37:20.070 に答える