日期:2014-05-17  浏览次数:20448 次

asp.net数据采集程序,如何做????给点思路啊 大神!!!
最近公司网站即将上线。。。但是数据库中没有数据, 所以老大让俺写一个数据采集程序, 去其他网站上把数据抓取过来, 但是我不知道咋写的。。。。。。。。。。做过的大神给点示例代码或者说说思路啊。 小弟拜托了!!!!!!!!!!!!!

------解决方案--------------------
看看正则表达式相关知识:

http://manual.phpv.net/regular_expression.html
------解决方案--------------------
这个弱爆了,我以前就是干这个的, 了解下 httpContex ,webbrowser 就能做。
------解决方案--------------------
抓取页面 然后根据正则去掉不规则的代码及字符。
C# code

 WebRequest myReq = WebRequest.Create("http://www.baidu.com/s?ie=gb2312&wd=" + GB2Unicode(“中国”) + "&pn=1&cl=3");
                WebResponse myRes = myReq.GetResponse();
                Stream resStream = myRes.GetResponseStream();
                StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding("utf-8"));
                result = sr.ReadToEnd();
                myRes.Close();
                resStream.Close();
                sr.Close();                 //读取html文件

                MatchCollection allMatchResults = null;
                for (int i = 1; i <= n; i++)
                {
                    string str = "id=\""+i.ToString()+"\"";
                    if (result.IndexOf(str) >= 0)
                    {
                        result = result.Substring(result.IndexOf(str));
                        allMatchResults = Regex.Matches(result, "(<a[^>]*>).*?(</a>)", RegexOptions.IgnoreCase);
                        if (allMatchResults.Count > 0)
                        {
                            string lianjie = allMatchResults[0].Value;
                            lianjie = lianjie.Replace("background-image", "");
                            lianjie = lianjie.Replace("onmousedown=", "");
                            lianjie = lianjie.Replace("<em>", "");
                            lianjie = lianjie.Replace("</em>", "");
                            strs.Add(lianjie);
                        } 
                    }
                }
                return strs;

------解决方案--------------------
探讨
引用:

抓取页面 然后根据正则去掉不规则的代码及字符。
C# code

WebRequest myReq = WebRequest.Create("http://www.baidu.com/s?ie=gb2312&amp;amp;wd=" + GB2Unicode(“中国”) + "&amp;amp;pn=1&amp;amp;cl=3");
WebResponse ……

------解决方案--------------------
1.利用WebClient或者WebRequest类和WebResponse类来获取网页源码
2.利用正则或者HTMLParser来解析并匹配你要抓取的数据(匹配规则根据你最终内容而变)