2017-05-05 7 views
-1

私はこれまでのところ、このコードは、Webページそれほどのすべてのリンクを抽出している フィルタのリンクは

HtmlWeb hw = new HtmlWeb(); 
     HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
     doc = hw.Load(txt_url.Text); 
     foreach (HtmlNode link in doc.DocumentNode.SelectNodes("a//[@href]")) 
     { 
      // Get the value of the HREF attribute 
      string hrefValue = link.GetAttributeValue("href", string.Empty); 
      listbox1.Items.Add(hrefValue); 

     } 

HtmlAgilityPack

を使用して、この私のコードをWebページからリンクを抽出し、それらをフィルタリングするためのプログラムを働いています私の質問は、 ".html"のような拡張子でそれらのURLをフィルタリングする方法です

答えて

1

htmlを取得するには、WebClient.DownloadStringメソッドを使用してください。

文字列に正規表現パターンを使用して、すべてのURLを取得します。

1

まず、HTTP GETリクエストを行い、HTMLコードを含むレスポンス本文を取得する必要があります。

//Request HTTP GET 

ServicePointManager.Expect100Continue = false; 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Proxy = null; 
request.Method = "GET"; 

WebResponse response; 
string html = ""; 

response = request.GetResponse(); 
StreamReader sr = new StreamReader(response.GetResponseStream()); 
html = sr.ReadToEnd(); 
sr.Close(); 
response.Close(); 

次に、HTMLコードをRegexで解析して、目的のファイルを抽出することができます。

関連する問題