高分求教高手,帮忙顶,如何获取数据 因为需要全国各地的火车车次数据库,发现http://www.railway.com.cn/query/checiQuery.jsp上较新,较准确,可以通过查询得到,现在能想到的办法是查询完保存到Excel中,然后放到数据库中。但是有2000多车次,这样也太笨了,希望大家帮忙支招。另外,我有2006年以前的数据,但是变化比较大,想要最新的。希望大家的方法是利己但不损人,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用WebRequest即时抓取或按一定规则抓取,也就是一楼说的网络小偷,但我认为网络就是信息共享,如果信息不共享就不叫互联网了,所以获取别人的信息不能叫偷,另强列建议还是将抓取的数据存入本地数据库,试想如果别人在你的网站上要查一个车次,还得等待你的站点从其它站点上抓取数据,这个往返过程是用户难以忍受的,要碰上网速不佳或其它因素就更糟糕;再比如多个用户查询的是同一个车次,你都要做相同的数据往返,这也是费力不讨好。所以最好利用一个服务把数据抓到本地数据库,比如可以在凌晨进行,或判断是否用户第一次请求,如果是则抓取并存入本地,否则直接从本地数据库返回。 这是很久以前写的一个抓新浪天气预报的主要代码,希望对楼主有所帮助:string url="http://cgi.news.sina.com.cn/cgi-bin/figureWeather/search.cgi?city=%BC%AA%CA%D7";//新浪天气预报搜索页面,关键字为吉首WebRequest wreq=WebRequest.Create(url); //创建 WebRequest 对象try{HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse(); string HTML ="";Stream s=wresp.GetResponseStream(); StreamReader objReader = new StreamReader(s,System.Text.Encoding.Default); string sLine = ""; //存放读取到的流的字符串int i = 0; //从0行开始循环while (sLine!=null) { i++; sLine = objReader.ReadLine();//读取第i行存放在字符串中 if (sLine!=null) HTML += sLine; //HTML为整个页面代码}......} sql语句问题 衣服产品颜色、尺寸数据库表设计 如何在vs2005中添加一个方正彩云字体包!!!!!!!!!!!!!!!!!!!!!!!!! Cookie的修改问题 100分!!!求救 JS获取动态创建控件的值的问题? 如何用JS计算选择题总分点击按钮alert输出姓名+总分!我新手,大家来帮我解答下~谢谢! 同一个页面跳转的问题(新手提问) 有关applocation和数据库connection的问题? 在服务器上的项目中添加新页面 简单错误分析,快来领分啊! Session丢失的解决办法? 看了一篇教程.有个地方不明白.望大师门指点一下.谢谢了!
string url="http://cgi.news.sina.com.cn/cgi-bin/figureWeather/search.cgi?city=%BC%AA%CA%D7";//新浪天气预报搜索页面,关键字为吉首
WebRequest wreq=WebRequest.Create(url); //创建 WebRequest 对象
try
{
HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();
string HTML ="";
Stream s=wresp.GetResponseStream();
StreamReader objReader = new StreamReader(s,System.Text.Encoding.Default);
string sLine = ""; //存放读取到的流的字符串
int i = 0; //从0行开始循环
while (sLine!=null)
{
i++;
sLine = objReader.ReadLine();//读取第i行存放在字符串中
if (sLine!=null)
HTML += sLine; //HTML为整个页面代码
}
......
}