asp.net 数据采集
现要为公司编辑做一个数据采集的WEB程序,谁能给点思路(有例子更好) 问题点数:100、回复次数:41Top
1 楼ustbwuyi()回复于 2006-12-20 14:36:46 得分 0
没做过,关注楼下,希望能了解一二..Top
2 楼ldk(你的温柔其实如刀)回复于 2006-12-20 14:37:44 得分 5
string strHtml;
StreamReader sr = null; //用来读取流
StreamWriter sw = null; //用来写文件
Encoding code = Encoding.GetEncoding("utf-8"); //定义编码
//构造web请求,发送请求,获取响应
WebRequest HttpWebRequest = null;
WebResponse HttpWebResponse = null;
HttpWebRequest = WebRequest.Create(url);
HttpWebResponse = HttpWebRequest.GetResponse();
//获得流
sr = new StreamReader(HttpWebResponse.GetResponseStream(), code);
strHtml = sr.ReadToEnd();
Top
3 楼susar(寻找水源)回复于 2006-12-20 14:47:53 得分 0
取源代码+正则表达式,Top
4 楼mincunbao(衝動是魔鬼)回复于 2006-12-20 14:48:51 得分 0
等,學習Top
5 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 14:49:45 得分 0
估计是我说的不够清楚(楼上的好像只是第一步吧),
得到了站点首页的源文件我想肯定要从中找到里面的页面链接,然后一步步找到所要的资源文件地址(比如音乐.mp3,.rm,.mav等)的地址,并把它下载下来Top
6 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 14:52:24 得分 0
susar(寻找水源) ( ) 信誉:100 Blog 2006-12-20 14:47:53 得分: 0
取源代码+正则表达式,
----------------
特别感谢!
应该就是这样。能说的详细点吗,我确实以前没做过,有什么源代码参考的吗Top
7 楼IFocusYou(易寒)回复于 2006-12-20 14:55:50 得分 0
采集什么数据?出钱我给做吧.Top
8 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 15:06:38 得分 0
IFocusYou(易寒) ( ) 信誉:100 Blog 2006-12-20 14:55:50 得分: 0
采集什么数据?出钱我给做吧.
-------------------------------
老兄。我只是公司里一个敲代码的,真到了那时候还用得着多说话吗Top
9 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 15:21:22 得分 0
在线等。自己顶Top
10 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-12-20 15:30:58 得分 0
指定数据源,取得HTML页面内容,进行分析,留下你想要的东西,入库,
比如说你要取一个页面中的文章内容和标题,那你需要查看这个页面的HTML代码,比如标题为:“我要取得标题”,而这个标题的左右两边一定还会有其它的HTML代码,以这些HTML代码作为标记,去取得自己想要的标题,当然取内容也是一样的,Top
11 楼yan63(silence like a cancer grows)回复于 2006-12-20 15:37:50 得分 0
去codeproject搜一个,载下来运行一下思路该就比较清楚了Top
12 楼lucky_yyx(进取、热情,信任,坚持,努力,自律,思考,感动,耐心,韧性、珍惜)回复于 2006-12-20 15:40:26 得分 5
?
string strHtml;
StreamReader sr = null; //用来读取流
StreamWriter sw = null; //用来写文件
Encoding code = Encoding.GetEncoding("utf-8"); //定义编码
//构造web请求,发送请求,获取响应
WebRequest HttpWebRequest = null;
WebResponse HttpWebResponse = null;
HttpWebRequest = WebRequest.Create(url);
HttpWebResponse = HttpWebRequest.GetResponse();
//获得流
sr = new StreamReader(HttpWebResponse.GetResponseStream(), code);
strHtml = sr.ReadToEnd();Top
13 楼wangrumeng(逐梦)回复于 2006-12-20 15:41:05 得分 0
关注中Top
14 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 16:21:39 得分 0
高手一定要帮忙呀Top
15 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 16:44:25 得分 0
在线等中Top
16 楼syc958()回复于 2006-12-20 17:26:02 得分 5
server服务要不就用小偷程序!Top
17 楼Small__Wolf(CSDN眞J⒏縞笑^_^.這嚒點嘚框框譲偶冩紒紹(︶︵︶))回复于 2006-12-20 17:45:53 得分 5
分析源网页.要求不高可以通过 正则提取 标题 地址 等信息.Top
18 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 18:55:31 得分 0
???Top
19 楼zhuowei(I'm MS MVP)回复于 2006-12-20 18:57:52 得分 2
没接触过 踩一脚Top
20 楼winner2050(winner)回复于 2006-12-20 19:06:08 得分 0
呵呵。如果你们老板要买就找我。
Top
21 楼wslinfeng(林风)回复于 2006-12-20 19:19:56 得分 2
留个名,回头再看Top
22 楼fattycat(最爱胖猫)回复于 2006-12-20 19:29:40 得分 2
markTop
23 楼ecmastery(浪淘沙)回复于 2006-12-20 19:33:47 得分 10
Asp.net 数据采集基类(远程抓取,分解,保存,匹配)
详细参考地址:http://www.opent.cn/article.asp?id=5
#region 日期随机函数
/**********************************
* 函数名称:DateRndName
* 功能说明:日期随机函数
* 参 数:ra:随机数
* 调用示例:
* GetRemoteObj o = new GetRemoteObj();
* Random ra = new Random();
* string s = o.DateRndName(ra);
* Response.Write(s);
* o.Dispose();
* ********************************/
/// <summary>
/// 日期随机函数
/// </summary>
/// <param name="ra">随机数</param>
/// <returns></returns>
public string DateRndName(Random ra)
{
DateTime d = DateTime.Now;
string s = null, y, m, dd, h, mm, ss;
y = d.Year.ToString();
m = d.Month.ToString();
if (m.Length < 2) m = "0" + m;
dd = d.Day.ToString();
if (dd.Length < 2) dd = "0" + dd;
h = d.Hour.ToString();
if (h.Length < 2) h = "0" + h;
mm = d.Minute.ToString();
if (mm.Length < 2) mm = "0" + mm;
ss = d.Second.ToString();
if (ss.Length < 2) ss = "0" + ss;
s += y + m + dd + h + mm + ss;
s += ra.Next(100, 999).ToString();
return s;
}
#endregion
#region 取得文件后缀
/**********************************
* 函数名称:GetFileExtends
* 功能说明:取得文件后缀
* 参 数:filename:文件名称
* 调用示例:
* GetRemoteObj o = new GetRemoteObj();
* string url = @"http://www.baidu.com/img/logo.gif";
* string s = o.GetFileExtends(url);
* Response.Write(s);
* o.Dispose();
* ********************************/
/// <summary>
/// 取得文件后缀
/// </summary>
/// <param name="filename">文件名称</param>
/// <returns></returns>
public string GetFileExtends(string filename)
{
string ext = null;
if (filename.IndexOf('.') > 0)
{
string[] fs = filename.Split('.');
ext = fs[fs.Length - 1];
}
return ext;
}
#endregion
#region 获取远程文件源代码
/**********************************
* 函数名称:GetRemoteHtmlCode
* 功能说明:获取远程文件源代码
* 参 数:Url:远程url
* 调用示例:
* GetRemoteObj o = new GetRemoteObj();
* string url = @"http://www.baidu.com";
* string s = o.GetRemoteHtmlCode(url);
* Response.Write(s);
* o.Dispose();
* ********************************/
/// <summary>
/// 获取远程文件源代码
/// </summary>
/// <param name="url">远程url</param>
/// <returns></returns>
public string GetRemoteHtmlCode(string Url)
{
string s = "";
MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
_xmlhttp.open("GET", Url, false, null, null);
_xmlhttp.send("");
if (_xmlhttp.readyState == 4)
{
s = System.Text.Encoding.Default.GetString((byte[])_xmlhttp.responseBody);
}
return s;
}
#endregion
Top
24 楼ffff2525(雨天)回复于 2006-12-20 19:41:53 得分 2
markTop
25 楼com7ecity(经营之道 http://info.7ecity.com/)回复于 2006-12-20 20:45:15 得分 2
晕,我的采集程序在公司,要不就贴上来了,吼吼Top
26 楼zgmiao(孤独剑客)回复于 2006-12-20 21:07:02 得分 5
取得页面HTML代码的例子上面已经给出不少了
下面的代码是使用正则表达式取得HTML中内容的代码
Regex regex1 = new Regex(this.NameKey, RegexOptions.Singleline | RegexOptions.IgnoreCase );
MatchCollection collection1 = regex1.Matches(this.ArtHtml);
if (collection1.Count>0)
{
result=collection1[0].Result("${title}");
}Top
27 楼kgdkwxf()回复于 2006-12-21 09:08:58 得分 2
等待解决Top
28 楼zdyguilong(Keep Walking!)回复于 2006-12-21 09:14:39 得分 2
学习……Top
29 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 09:57:32 得分 0
com7ecity(经营之道 http://info.7ecity.com/) ( ) 信誉:100 Blog 2006-12-20 20:45:15 得分: 0
晕,我的采集程序在公司,要不就贴上来了,吼吼
------------------------------------------------
这位仁兄厚道,真是多谢了,我邮箱:weiyong922@163.com
Top
30 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 09:58:34 得分 0
ecmastery(浪淘沙)
----------------------
真心谢谢你Top
31 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 10:31:31 得分 0
:)Top
32 楼Edisoncat(http://www.Edisonliu.com)回复于 2006-12-21 11:00:25 得分 5
用WebRequest HttpWebRequest 远程下载对方网页,在用正则过滤数据Top
33 楼hanlang(寒朗)回复于 2006-12-21 11:12:29 得分 2
markTop
34 楼sprider(人黑牙黄)回复于 2006-12-21 12:21:34 得分 30
以前做过 ASP.NET/ c#
tom 音乐的抓取程序
两晚上 搜集 220M数据库的音乐. 26万条歌曲信息.
QQ:185146447Top
35 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 12:37:16 得分 0
高手一定要帮忙呀Top
36 楼hymxtang(书童)回复于 2006-12-21 13:09:26 得分 2
学习~Top
37 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 13:37:54 得分 0
?Top
38 楼executemylove(Iceman)回复于 2006-12-21 13:45:56 得分 5
分析网页源代码.然后找到特征代码.截取想要内容Top
39 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-22 09:50:42 得分 0
:)Top
40 楼zhangyunjian1(赚钱吧)回复于 2006-12-22 17:55:28 得分 5
1采集页面源代码
2获取中间字符(也就是你所需要的字符)
3循环
4写库
就这么简单 这样的程序我写过好几个包括登陆后采集的都可以的!Top
41 楼zhangyunjian1(赚钱吧)回复于 2006-12-22 17:55:59 得分 2
别忘记结帐 我很穷Top




