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

.NET怎么抓取网页数据?
.NET怎么抓取网页数据?然后将数据插入到数据库?
关键是获取到网页的源代码后,怎么才能够得到我想要的数据?
如:http://www.szse.cn/main/disclosure/news/tfpts/
获取该页面的股票停牌信息:证券代码 证券简称 停牌时间 复牌时间 停牌期限 停牌原因,然后分别将他们插入到数据库?
希望高手能够提供示例

------解决方案--------------------
用XMLHttpRequest获取。
------解决方案--------------------
抓内容

提取用正则
------解决方案--------------------
正则参考
http://www.dnbcw.com/biancheng/net/jbpy138812.html
------解决方案--------------------
通过httpwebrequest抓取,再使用正则格式化
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream resStream = response.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoding);
string html = (sr.ReadToEnd());
resStream.Close();
sr.Close();
  
System.Net.WebClient wc = new System.Net.WebClient();
wc.Credentials = System.Net.CredentialCache.DefaultCredentials;
Byte[] pageData = wc.DownloadData(PageUrl);
string Content= System.Text.Encoding.Default.GetString(pageData);

------解决方案--------------------
Regex reg = new Regex(@"(?i)(?<=<span.*?id=""s"".*?>)[^<]+(?=</span>)");
MatchCollection mc = reg.Matches(html);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups[0].ToString() );
}
(?is)(?<=<td[^>]*>)(?:(?!</?td\b).)*(?=</td>)
------解决方案--------------------
顶。。。我也正想做个。不知道是不是这个
------解决方案--------------------
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
------解决方案--------------------
C# code
try
        {
            HttpWebRequest request=(HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com");
            request.Method=WebRequestMethods.Http.Get;
            HttpWebResponse response=(HttpWebResponse)request.GetResponse();
            System.IO.StreamReader reader=new System.IO.StreamReader(response.GetResponseStream());
            string data=reader.ReadToEnd();
            response.Close();
                        HttpContext.Current.Response.Write(data);
               HttpContext.Current.Response.End();
            }
        }
        catch{}

------解决方案--------------------
这个不难啊 ,先把网页源码下载,然后分析html代码 用替换和截取函数就可以,当然正则更好
------解决方案--------------------
通过httpwebrequest或 xml数据格式 抓取,再使用正则格式化
获取数据
------解决方案--------------------
网页之间传递多个参数,参数与参数之间用"&"来分割 :)
------解决方案--------------------
先抓,然后正则解析
你去看小偷程序就知道了

------解决方案--------------------
httpwebrequest
------解决方案--------------------
留名收藏
------解决方案--------------------
我也想知道
------解决方案--------------------
我有个专门这个类,要吗?要加我QQ:56032361