C# 正则获取图片路径并保存至本地
var reg = new System.Text.RegularExpressions.Regex("<\\s*img\\s+[^>]*?src\\s*=\\s*(\'|\")(.*?)\\1[^>]*?\\/?\\s*>");
var srcReg = new System.Text.RegularExpressions.Regex("(?<=(src=\"))[^\"]*?(?=\")");
int i = 0;
foreach (DataRow dr in dt.Rows)
{
foreach (object a in reg.Matches(dr["content"].ToString()))
{
i++;
//imgList.Add(a.ToString());
string s = srcReg.Match(a.ToString()).Value;
try
{
Down(s, s.Substring(s.IndexOf("allimg") + 7, s.Length - s.IndexOf("allimg") - 7).Replace("/", "-"));
}
catch(Exception ex)
{
Console.WriteLine(s);
Console.WriteLine(ex.Message);
continue;
}
}
}
Console.WriteLine(i);
Console.ReadKey();
执行下载并保存到本地方法:
/// <summary>
/// 执行下载并保存到本地
/// </summary>
/// <param name="url">图片地址</param>
/// <param name="dtnow">保存的文件名</param>
public static void Down(string url, string dtnow)
{
WebRequest wreq = WebRequest.Create(url);
HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
Stream s = wresp.GetResponseStream();
System.Drawing.Image img;
img = System.Drawing.Image.FromStream(s);
img.Save("H:\\木庄网络博客\\DataCleaning\\img\\" + dtnow, ImageFormat.Jpeg);
MemoryStream ms = new MemoryStream();
img.Save(ms, ImageFormat.Jpeg);
img.Dispose();
}
相关阅读 >>
更多相关阅读请进入《获取图片》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。