问题描述
客户在网页上输入(或选择)股票代码,下方显示其当前价格等信息,且定时显示最新价格及其变化幅度。股票当前信息可以从其他证劵网抓取。客户可能选择查看多条股票代码,如选择了50条股票信息(它们在页面上显示并即时变化),难道要用多线程吗?在网页中如何实现?没有具体思路?要求实现的效果如图(来自股票网):恳请高手指导?提供实现思路(比如前台和后台分别放置什么内容) 问题补充:beneo 写道
解决方案
一、抓取股票信息1、直接抓取网页内容URL fullUrl = new URL("你要抓取的网页的URL");URLConnection con = fullUrl.openConnection();con.connect();InputStream is = con.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String resultStr = br.readLine();2、通过股票网站提供的接口获取数据二、解析网页内容1、Java开源Html解析类库来辅助解析网页数据如使用:HTML Parser更多库:http://www.open-open.com/30.htm三、页面查询股票数据使用Ajax实时查询并显示数据
解决方案二:
个人建议:1、后台写一个抓取程序,定时从证券网抓取数据并解析入库,可以将所有股票信息入库。当然,你只是显示当前最新信息,那么每个股票代码只需要对应一条记录,保存最新的价格与幅度等信息2、页面定时使用Ajax查询数据库并显示优点: 由于你要实时查询,如果是抓取其他网站的数据,由于网络延迟、或者查询返回的记录数比较多的时候,页面会等很久才出来,这样肯定是不行的
解决方案三:
页面刷新的信息和真实股票的刷新信息是两回事页面这部分,要有ajax做轮询,从服务器缓存里获取所需股票信息(不管是不是最新的)服务器这部分,就把用户指定的股票信息,定时的更新的到缓存里面至于用户指定的股票,用session来控制