从底层提高网页抓取的效率

2014-07-25
  • 734
  • 0
        近期的工作内容之一就是从网络上抓取网页的内容,提高抓取效率是一个重要的课题。之前讲过使用java语言有很多工具可以用来抓取网页内容。但今天本文的主要内容却是揭示从底层提高抓取效率的秘密。
       大家知道抓取网页,首先要连接目标服务器,然后发送请求等待服务器的响应。如果每抓取一个网页就建立一个http连接,抓取完成后关闭该连接。那么就会在短时间内创建并销毁了很多http连接。
      秘籍就要出现了,对!在header中包含Connecion:keep-alive,就意味着这个连接在一定时间或者N次请求之内是不会被关闭的。前提条件是你的目标服务器支持keep-alive.这样就节省了频繁创建连接的时间和资源。可以建立一次连接抓取多个页面了。
      当连接被服务器断开的时候,只需要重新连接并且保持keep-alive即可。