本帖最后由 --_— 于 2014-7-27 01:14 编辑
用正则表达式,在百度图库下载图片到本机。整了1小时了,找不出错在哪,要么不能匹配,要么匹配后得不了文件(图片)类型,现贴出代码,求指点。
WebClient wc = new WebClient();
wc.Encoding = Encoding.UTF8;
string ip = @"http://image.baidu.com/channel/funnyfm=index#%E6%90%9E%E7%AC%91&%E8%84%91%E6%AE%8B%E5%AF%B9%E8%AF%9D&0&0";
string regex = @"src=""([^>]+)""";//试过好几种,不一一贴出了
string context = wc.DownloadString(ip);
MatchCollection mc = Regex.Matches(context, regex);
if (!Directory.Exists(@"C:\Users\Administrator\Desktop\1"))
{
Directory.CreateDirectory(@"C:\Users\Administrator\Desktop\1");
}
int i=0;
foreach (Match m in mc)
{
if (m.Success)
{
string path = ip + "/" + m.Groups[1].Value;
//网址
string name = Path.Combine(@"C:\Users\Administrator\Desktop\1",(i++).ToString() );//加不上(得不到Path貌似不能用)图片类型
//硬盘路径
wc.DownloadFile(path, name);
}
}
Console.ReadKey();
|