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

解决方案 »

  1.   

    看看正则表达式相关知识:http://manual.phpv.net/regular_expression.html
      

  2.   

    这个弱爆了,我以前就是干这个的, 了解下 httpContex ,webbrowser 就能做。
      

  3.   

    抓取页面    然后根据正则去掉不规则的代码及字符。 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;你看下strs  就知道了。
      

  4.   

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