解决方案 »

  1.   

    你咋知道URL是秒开的?网络不好,你用浏览器打开网页也会加载很慢。
      

  2.   

    代码中计时一下发送请求到得到响应的时间,我之前做的数据采集相关项目最耗时间的是请求服务器的操作,解析HTML用的是org.htmlparser.Parser,解析通常都是毫秒级的.
      

  3.   

    先读取成一个文档对象模型这样觉得比较占时间与内存.有没有办法边解释边获取数据呢?
    如果用jsoup的话.如果开多个线程,时间上会不会更快点
      

  4.   

    jsoup本身就是DOM解析,是在完全接收到页面文件后,逐项进行解析。相比Binding模式,是效率比较高的。
    lz你所说的边接收边解析不是不可实现,在确定接收格式的情况下,可以自实现http协议栈。通常在httpclient接收完页面文件流后还需要对传输流进行校验,校验通过才会回调处理程序。边解析边接收就是要将解析程序放置在回调之前处理,当然还需要处理校验失败的现象。但一般来说这样改造性能提高并不大,实现复杂且难以维护。建议通过调试确定jsoup解析时间,明确瓶颈是在网络还是在解析。再看实际的方案。
      

  5.   

    和你的网络速度有一定关系,当然,如果html内容很多的话也比较慢。
      

  6.   

    jsoup本身就是DOM解析,是在完全接收到页面文件后,逐项进行解析。相比Binding模式,是效率比较高的。
    lz你所说的边接收边解析不是不可实现,在确定接收格式的情况下,可以自实现http协议栈。通常在httpclient接收完页面文件流后还需要对传输流进行校验,校验通过才会回调处理程序。边解析边接收就是要将解析程序放置在回调之前处理,当然还需要处理校验失败的现象。但一般来说这样改造性能提高并不大,实现复杂且难以维护。建议通过调试确定jsoup解析时间,明确瓶颈是在网络还是在解析。再看实际的方案。+1感觉LZ的时间不一定是耗费在解析上,我之前数据中心项目上解析过十几MB的HTML也没有感觉明显的缓慢, 一般HTML中是不会一次性放过多数据的. LZ解析的HTML有多大..?