请教如何用.NET做实时数据采集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教如何用.NET做实时数据采集相关的知识,希望对你有一定的参考价值。

我想把GOOGLE的生活中的出租数据实时放在我自己的网上,因为GOOGLE实时是更新的,但是我不希望像用ifrom一样把全部都弄过来,有关GOOGLE的东西我都不要,只要其中的数据,谢谢怎么实现呢

http://shenghuo.google.cn/shenghuo/search?a_y0=9&a_n0=%E6%88%BF%E5%B1%8B&a_n1=%E5%9F%8E%E5%B8%82&a_y1=1&a_o1=0&a_v1=%E6%AD%A6%E6%B1%89&a_n2=%E7%B1%BB%E5%88%AB&a_y2=1&a_o2=0&a_v2=%E5%87%BA%E7%A7%9F

下面的程序是我自己写的,可以获取urls的网页源代码。你可以根据返回的tempstr,你再找到他读取数据那里的规律,再用Substring IndexOf LastIndexOf这些函数来截取你想要的内容保存到数据库,或者用
正则表达式也可以。看你自己的熟悉程度了。 至于你要实时的,那你定期执行这个程序就可以了啊。你把已采集的地址存一下,以后采集保存前判断下有没有保存同样的数据就可以了。

public string getfiles(string urls)

WebRequest wrq;
HttpWebResponse wrp;

wrq=HttpWebRequest.Create(urls);
wrp=(HttpWebResponse)wrq.GetResponse();
Stream resStream=wrp.GetResponseStream();
StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
string tempstr = sr.ReadToEnd();
return tempstr;


另我觉得这个“不厚道”看从哪方面理解,现在都要资源共享,才能共同进步嘛。
参考技术A 这样的话就只能自己写个 爬虫了 只爬你需要的那个网页 然后不管你用正则表达式还是 截取字符串的方法都能 搞到你所需要的数据 一次做个 几十个或者 100来个线程 会很快的
关键代码:
WebClient client = new WebClient();
string html = client.DownloadString(url);
通过分析你那网页的源码 发现 那些一行行的数据是有规律的都是以
<tr id="sprr 加上id号 开头 以 </tr>结尾
所以用正则表达式形式只保存那些格式相同的
Regex r = new Regex(@"<tr id="sprr([\w\W]*?)</tr>");
MatchCollection ms = r.Matches(html);
这保存的就是源码形式 到这你应该就明白了

ps 正如楼上所说的 确实很不厚道
参考技术B 分析页面源代码,结构化其中的数据(主要是字符串的处理和匹配,推荐正则表达式)

另外说一句,你这样是不厚道的本回答被提问者采纳

如何用python 接入实时行情数据

参考技术A 有专门的实时行情API接口,例如微盛的实时行情API接口,通过类似这样的接口就可以接入了。 参考技术B BIGI行情有实时行情数据接口,期货、股指、外汇、期权、A股、现货等实时行情数据源和历史行情,数据稳定、不延时,价格优惠。接口socket websocket http推送,http post get主动获取,免费使用K线

以上是关于请教如何用.NET做实时数据采集的主要内容,如果未能解决你的问题,请参考以下文章

如何用 Hook 实时处理和保存 Ajax 数据

如何用树莓派做实时视频聊天?

如何用C#编程读取新浪的股票实时行情??

如何用python 接入实时行情数据

如何用ELKstack(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

请教如何用WIND查询某只股票一段时间内的具体走势?