class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Example usage: | |
WebClient client = new WebClient(); | |
byte[] buffer = client.DownloadData("http://www.yahoo.jp"); | |
// GetString() extension method is from: | |
// http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx | |
string html = buffer.GetString(); | |
List<string> list = LinkExtractor.Extract(html); | |
foreach (var link in list) | |
{ | |
Console.WriteLine(link); | |
} | |
Console.ReadLine(); | |
} | |
} | |
public class LinkExtractor | |
{ | |
/// <summary> | |
/// Extracts all src and href links from a HTML string. | |
/// </summary> | |
/// <param name="html">The html source</param> | |
/// <returns>A list of links - these will be all links including javascript ones.</returns> | |
public static List<string> Extract(string html) | |
{ | |
List<string> list = new List<string>(); | |
Regex regex = new Regex("(?:href|src)=[\"|']?(.*?)[\"|'|>]+", RegexOptions.Singleline | RegexOptions.CultureInvariant); | |
if (regex.IsMatch(html)) | |
{ | |
foreach (Match match in regex.Matches(html)) | |
{ | |
list.Add(match.Groups[1].Value); | |
} | |
} | |
return list; | |
} | |
} |
C# kaynak kodları ile projelerinize yardımcı açık source code örnekleri bulun.Programlama ile uraşan coderlara yardımcı olur.