1.一个根据动态页路径和编码格式获得html格式文本的方法源代码:
1. // 返回html代码 2. public final static String getHtmlCode(String httpUrl, String ecode) { 3. // 构造HttpClient的实例 4. HttpClient httpClient = new HttpClient(); 5. // 创建GET方法的实例 6. GetMethod getMethod = new GetMethod(httpUrl); 7. // 使用系统提供的默认的恢复策略 8. getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, 9. new DefaultHttpMethodRetryHandler()); 10. try { 11. // 执行getMethod 12. int statusCode = httpClient.executeMethod(getMethod); 13. if (statusCode != HttpStatus.SC_OK) { 14. System.err.println("Method failed: " 15. + getMethod.getStatusLine()); 16. } 17. // 读取内容 18. byte[] responseBody = getMethod.getResponseBody(); 19. // 处理内容 20. return new String(responseBody, ecode); 21. } catch (HttpException e) { 22. // 发生致命的异常,可能是协议不对或者返回的内容有问题 23. System.out.println("Please check your provided http address!"); 24. e.printStackTrace(); 25. } catch (IOException e) { 26. // 发生网络异常 27. e.printStackTrace(); 28. } finally { 29. // 释放连接 30. getMethod.releaseConnection(); 31. } 32. return null; 33. }
1. public final static void saveHtmlCode(String filePath, String htmlCode) { 2. FileOutputStream fOut = null; 3. OutputStreamWriter out = null; 4. try { 5. fOut = new FileOutputStream(filePath); 6. out = new OutputStreamWriter(fOut, "UTF-8"); 7. out.write(htmlCode); 8. } catch (Exception e) { 9. e.printStackTrace(); 10. } finally { 11. try { 12. out.flush(); 13. } catch (IOException e) { 14. e.printStackTrace(); 15. } 16. try { 17. fOut.flush(); 18. } catch (IOException e) { 19. e.printStackTrace(); 20. } 21. try { 22. out.close(); 23. } catch (IOException e) { 24. e.printStackTrace(); 25. } 26. try { 27. fOut.close(); 28. } catch (IOException e) { 29. e.printStackTrace(); 30. } 31. } 32. }
# public static void main(String[] args) { # String msgSaveFile = countHtmlFilePath("c://", new Date()) + "/test.html"; # String messageHtmlCode = getHtmlCode("test.jsp", "UTF-8"); # saveHtmlCode(msgSaveFile, messageHtmlCode); # } # # // 获得存储文件的目录 # public final static String countHtmlFilePath(String url, Date date) { # SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd-hh"); # String time = sim.format(date); # String[] result = time.split("-"); # String year = result[0]; # String month = result[1]; # String day = result[2]; # String hour = result[3]; # // 首先判断是否有年文件夹 # MyFileFilter filter = new TestClass().new MyFileFilter(true); # boolean isExists = filter.isExistsDirectory(url, year + ""); # if (isExists) { # if(filter.isExistsDirectory(url + "/" + year, month + "")) { # if(filter.isExistsDirectory(url + "/" + year + "/" + month, day + "")) { # if(!filter.isExistsDirectory(url + "/" + year + "/" + month + "/" + hour, hour + "")) { # new File(url + "/" + year + "/" + month + "/" + day + "/" + hour).mkdir(); # } # } else { # new File(url + "/" + year + "/" + month + "/" + day).mkdir(); # } # } else { # new File(url + "/" + year + "/" + month).mkdir(); # } # } else { # new File(url + "/" + year).mkdir(); # new File(url + "/" + year + "/" + month).mkdir(); # new File(url + "/" + year + "/" + month + "/" + day).mkdir(); # new File(url + "/" + year + "/" + month + "/" + day + "/" + hour).mkdir(); # } # return url + "/" + year + "/" + month + "/" + day + "/" + hour; # } # # # class MyFileFilter implements java.io.FileFilter { # # private boolean isDirectory; # # public MyFileFilter(boolean isDir) { # this.isDirectory = isDir; # } # # @Override # public boolean accept(File f) { # if (f.isDirectory() == isDirectory) { # return true; # } else # return false; # } # # public boolean isExistsDirectory(String path, String dir) { # File file = new File(path); # File[] childFiles = file.listFiles(this); # for (File cFile : childFiles) { # if(cFile.equals(dir)) { # return true; # } # } # return false; # } # }
您还没有登录,请您登录后再发表评论
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议 本帮助文档是chm格式,方便使用
SpringBoot通过自动配置、内嵌Servlet容器(如Tomcat或Jetty)以及“起步依赖”使得创建独立的、生产级别的基于Spring的应用变得极其简单。在这个项目中,SpringBoot作为基础框架,提供了一个运行环境,使得开发者...
代码有非常详细地注释,下载java相关包可以直接运行,希望能为将要和打算要学习HtmlClient的人提供一些前期的帮助。
课程设计需要做一个安卓APP,我就想起了HBuilder,回来一看,东西更新了不少,还出现了一个MUI框架,这个框架的存在很大程度上决定了我开始使用这一套框架的理由,它集成了一套非常轻便的UI,而且封装了常用的 ,用...
用HtmlClient4.3和HTMLParse 实现爬虫
本篇文章将详细介绍如何使用 Python 将 HTML 内容转换成 Word(.doc 或 .docx)文档,特别关注于 `htmlparser` 和 `docx` 模块的使用方法。这种方法不仅适用于简单的文本转换,还能处理复杂的格式化问题,包括图片等...
这里,我们讨论如何使用堆栈和队列来优化这一过程。 首先,让我们了解一下堆栈和队列这两种数据结构。堆栈是一种后进先出(LIFO)的数据结构,而队列则是先进先出(FIFO)的数据结构。在爬虫中,队列常用来存储待...
【描述】中提到,该工具的实现依赖于htmlparser和htmlclient。htmlclient可能是一个自定义的HTTP客户端,用于发送请求并接收网页内容,为htmlparser提供原始HTML数据。开发者可能已经编写了自定义的解析逻辑来处理ed...
相关推荐
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议 本帮助文档是chm格式,方便使用
SpringBoot通过自动配置、内嵌Servlet容器(如Tomcat或Jetty)以及“起步依赖”使得创建独立的、生产级别的基于Spring的应用变得极其简单。在这个项目中,SpringBoot作为基础框架,提供了一个运行环境,使得开发者...
代码有非常详细地注释,下载java相关包可以直接运行,希望能为将要和打算要学习HtmlClient的人提供一些前期的帮助。
课程设计需要做一个安卓APP,我就想起了HBuilder,回来一看,东西更新了不少,还出现了一个MUI框架,这个框架的存在很大程度上决定了我开始使用这一套框架的理由,它集成了一套非常轻便的UI,而且封装了常用的 ,用...
用HtmlClient4.3和HTMLParse 实现爬虫
本篇文章将详细介绍如何使用 Python 将 HTML 内容转换成 Word(.doc 或 .docx)文档,特别关注于 `htmlparser` 和 `docx` 模块的使用方法。这种方法不仅适用于简单的文本转换,还能处理复杂的格式化问题,包括图片等...
这里,我们讨论如何使用堆栈和队列来优化这一过程。 首先,让我们了解一下堆栈和队列这两种数据结构。堆栈是一种后进先出(LIFO)的数据结构,而队列则是先进先出(FIFO)的数据结构。在爬虫中,队列常用来存储待...
【描述】中提到,该工具的实现依赖于htmlparser和htmlclient。htmlclient可能是一个自定义的HTTP客户端,用于发送请求并接收网页内容,为htmlparser提供原始HTML数据。开发者可能已经编写了自定义的解析逻辑来处理ed...