求一个C#的网页数据抓取源代码
谁能给个C#的网页数据抓取源代码,最好是完整的,能直接运行抓取,用VS2008开发的最近上头要搞这个,非常烦恼,希望做的的好心人能给点现成的参考!
邮箱:370689538@qq.com
先谢谢了 求一个C#的网页数据抓取源代码 --------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢sibiyellow的回复,出现 远程服务器返回错误: (407) 需要代理身份验证。 --------------------编程问答-------------------- 感觉你的这个代码很不错,想请问一下,如果我想抓取某个网页上的邮箱名字,这个要怎么修改一下呢?求教,先谢谢啦! --------------------编程问答--------------------
#region 范例
//抓取的就是这个地址http://www.baidu.com/s?ie=utf-8&bs=aa&f=8&rsv_bp=1&rsv_spt=3&wd=%E7%88%B1%E7%BE%8E%E4%B8%BD&rsv_sug3=8&rsv_sug=0&rsv_sug1=7&rsv_sug4=272&inputT=3873 这个百度搜索结果页面的如【imis.tmall.com/ 20小时前】中的URL的集合。
public static IList<string> GetUrls()
{
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
Byte[] pageData = MyWebClient.DownloadData("http://www.baidu.com/s?ie=utf-8&bs=aa&f=8&rsv_bp=1&rsv_spt=3&wd=%E7%88%B1%E7%BE%8E%E4%B8%BD&rsv_sug3=8&rsv_sug=0&rsv_sug1=7&rsv_sug4=272&inputT=3873"); //从指定网站下载数据
//string pageHtml = Encoding.Default.GetString(pageData); //如果获取网站页面采用的是GB2312,则使用这句
string pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
string test = @"(?isx)<span[^>]*class=""g"">(?><span[^*]class=""g"">(?<O>)|</sapn>(?<-O>)|(?:(?!</?span\b).)*)*(?(O)(?!))</span>";
Regex reg = new Regex(test);
MatchCollection mc = reg.Matches(pageHtml);
IList<string> urlList = new List<string>();
foreach (Match m in mc)
{
urlList.Add(Regex.Match(m.ToString(), @"(?<=<span[^>].*class=""g"">).*(?=</span>)").ToString());
}
return urlList;
}
#endregion
额 我倒没遇到过. --------------------编程问答-------------------- 怎么没人过来帮忙呢? --------------------编程问答-------------------- 用webbroswer控件,应该能搞到吧, --------------------编程问答-------------------- c#怎么拆分时间字符 --------------------编程问答--------------------
你想怎么拆 --------------------编程问答--------------------
有那么几个回答了,还说没人? --------------------编程问答-------------------- 简单的方式
用webBrowser,打开网页
myWebBrowser.Navigate(strUrl);
在DocumentCompleted事件中获取源码
myWebBrowser.Document.Body.OuterHtml之类的
然后看源码规律获取想要的信息 --------------------编程问答-------------------- http://bbs.csdn.net/topics/390536792
补充:.NET技术 , C#