欢迎来到天天文库
浏览记录
ID:6075477
大小:82.50 KB
页数:14页
时间:2018-01-02
《java网络爬虫简单实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、首先介绍每个类的功能:DownloadPage.java的功能是下载此超链接的页面源代码.FunctionUtils.java的功能是提供不同的静态方法,包括:页面链接正则表达式匹配,获取URL链接的元素,判断是否创建文件,获取页面的Url并将其转换为规范的Url,截取网页网页源文件的目标内容。HrefOfPage.java的功能是获取页面源代码的超链接。UrlDataHanding.java的功能是整合各个给类,实现url到获取数据到数据处理类。UrlQueue.java的未访问Url队列。Vis
2、itedUrlQueue.java已访问过的URL队列。下面介绍一下每个类的源代码:DownloadPage.java此类要用到HttpClient组件。 1.packagecom.sreach.spider;2.3.importjava.io.IOException;4.importorg.apache.http.HttpEntity;5.importorg.apache.http.HttpResponse;6.importorg.apache.http.client.ClientProtocol
3、Exception;7.importorg.apache.http.client.HttpClient;8.importorg.apache.http.client.methods.HttpGet;9.importorg.apache.http.impl.client.DefaultHttpClient;10.importorg.apache.http.util.EntityUtils;11.12.publicclassDownloadPage13.{14.15. /**16. *根
4、据URL抓取网页内容17. * 18. *@paramurl19. *@return20. */21. publicstaticStringgetContentFormUrl(Stringurl)1. {2. /*实例化一个HttpClient客户端*/3. HttpClientclient=newDefaultHttpClient();4. HttpGetgetHttp=newHttpGet(url);5
5、.6. Stringcontent=null;7.8. HttpResponseresponse;9. try10. {11. /*获得信息载体*/12. response=client.execute(getHttp);13. HttpEntityentity=response.getEntity();14.15. VisitedUrlQueue.addE
6、lem(url);16.17. if(entity!=null)18. {19. /*转化为文本信息*/20. content=EntityUtils.toString(entity);21.22. /*判断是否符合下载网页源代码到本地的条件*/23. if(FunctionUtils.isCreateFile(url)24.
7、 &&FunctionUtils.isHasGoalContent(content)!=-1)25. {26. FunctionUtils.createFile(FunctionUtils27. .getGoalContent(content),url);28. }29. }30.31.
8、 }catch(ClientProtocolExceptione)1. {2. e.printStackTrace();3. }catch(IOExceptione)4. {5. e.printStackTrace();6. }finally7. {8. client.getConnectionManager().shutdow
此文档下载收益归作者所有