转载请注明出处:http://blog.youkuaiyun.com/xiaojimanman/article/details/44831003
http://www.llwjy.com/blogdetail/a2d1df2b69f17696865f086777996fb1.html
个人博客站已经上线了,网址 www.llwjy.com ~欢迎各位吐槽~
-------------------------------------------------------------------------------------------------
之前的博客,已经介绍了如何基于Lucene来开发站内搜索的大部分内容,剩下的就是一些业务逻辑部分的开发以及接口的定义,这一部分在数据采集介绍完毕之后再来介绍。如果你已经对网络爬虫已经相当熟悉,可以忽略之后的几篇博客~
在之前的博客《基于HttpClient实现网络爬虫~以百度新闻为例》对自己的爬虫底层实现以及如何分析网页结构,抓取网页内容做了部分介绍,对之前介绍过的内容就不再过多介绍了,下面就重点说一下最新底层更新情况。
CrawlBase
在之前的CrawlBase类中,自己是这样定义HttpClient的,这样带来的后果就是在多线程的情况下会出现一系列的问题,所以对HttpClient的定义做了如下修改:
修改前:
private static HttpClient httpClient = new HttpClient();
修改后:
private static MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
private static HttpClient httpClient = new HttpClient(httpConnectionManager);