黑马程序员技术交流社区
标题:
正则表达式下载图片的问题
[打印本页]
作者:
--_—
时间:
2014-7-24 23:43
标题:
正则表达式下载图片的问题
本帖最后由 --_— 于 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();
作者:
mouxingyu
时间:
2014-7-25 19:01
给你点建议吧:1.调试看看你context 有没有乱码 改动Encoding
2.查看一下网页的原代码,图片路径一些是http:// 开头的,这种不用加你上面的ip就可以直接DownloadFile的
3.尝试一下在得到网页上的图片地址,也得到后缀名。
4.这样弄下来的,好像也得不到你看到的所有图片。
还有就是你会得到一些其他的如.js .gif的东西
还没有去学后面的视频不知道网页里面的东西。
只知道这么多了 希望对你能有帮助。
最后一点:视频里的老师说的真的是很详细,多看几篇!
作者:
Kevion小远
时间:
2014-7-25 21:22
强势围观学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2