- 浏览: 291615 次
- 性别:
- 来自: 杭州
博客专栏
-
Java面试
浏览量:0
文章分类
- 全部博客 (133)
- Struts2 (4)
- Hibernate (2)
- Spring (3)
- Java常识小积累 (18)
- Linux (6)
- Oscache (1)
- 面试技巧 (2)
- Eclipse (4)
- JavaScript (21)
- 生活 (7)
- Mysql (3)
- 网络优秀文章 (1)
- Freemaker (1)
- Tcp和UDP (1)
- ubuntu -java (1)
- Oracle (14)
- 重构 (1)
- webservice (4)
- Lucene (1)
- UML与OOA/D (1)
- 软件杂谈 (2)
- Nosql(Redis) (1)
- 团队开发 (1)
- Oracle 设计 (1)
- velocity (1)
- 面试那些事儿 (1)
- 技术 (1)
- 互联网 (1)
- 数据库 (1)
- jquery (1)
- java (2)
- fastjson (1)
- Remoting (1)
- 算法 (1)
- 学习技巧 (1)
- POI (3)
- FusionCharts (1)
- 学习资源 (1)
- 设计模式 (2)
- CSS (1)
- 技术边缘 (3)
- 生活感想 (0)
- JVM (1)
- JSON (0)
- 前端 (1)
- cxf (1)
- 分布式 (1)
- 阿萨德飞 (0)
- Java面试中的知识 (2)
- redis (1)
- 开发工具使用 (3)
最新评论
-
liushimiao0104:
请问下怎么删除word里面的图片呢
POI向word添加图片,表格 -
chpn:
addBatch确实可以1.这个和复合索引没得毛关系2.in查 ...
mysql 超1亿数据,优化分页查询 -
步青龙:
dagf113225 写道请问,这个mysql执行SQL的花费 ...
mysql 超1亿数据,优化分页查询 -
dagf113225:
请问,这个mysql执行SQL的花费的时间的工具叫什么?谢谢! ...
mysql 超1亿数据,优化分页查询 -
步青龙:
white_crucifix 写道我怎么觉得builder模式 ...
Builder设计模式
package com.util.md5; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.htmlparser.Node; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.tags.ImageTag; import org.htmlparser.tags.LinkTag; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException; import com.sun.corba.se.spi.orbutil.fsm.State; /** * 用HTMLparser抓取img标签的路径 * @author Administrator token@token.com * @param content:要爬取的文本 * @return 返回SRC路径改为服务器路径的文本 * @throws Exception:io异常 */ public class Htmlparserutil { /** * example : new Htmlparserutil().parserto("<img src = 'www.baidu.com'/><a><a/>","D:\test"); * @param contentString 要取img标签的内容 * @param pathString 要存到服务器的路径 */ public static String parserto(String contentString,String pathString,String dispPath) { String stringBuffer=null; try { List list = new ArrayList(); Parser parser = Parser.createParser(contentString, "UTF-8"); NodeList nodeList = parser .extractAllNodesThatMatch(new NodeFilter() { public boolean accept(Node node) { if (node instanceof ImageTag)// <img>标记 return true; return false; } }); for (int i = 0; i < nodeList.size(); i++) { ImageTag n = (ImageTag) nodeList.elementAt(i); list.add(n.getImageURL()); int start = 0; start = n.getImageURL().lastIndexOf("/"); String picname=n.getImageURL().substring(start,n.getImageURL().length()); contentString=contentString.replace(n.getImageURL(), dispPath+picname); ///////////////????????? if(n.getImageURL().indexOf("http://e.huisou.com")==1){ contentString.replace("http://e.huisou.com","http://img.e.huisou.com"); } } List<String> listImg = new ArrayList<String>(); listImg.add(".jpg"); listImg.add(".JPG"); listImg.add(".jpeg"); listImg.add(".JPEG"); listImg.add(".bmp"); listImg.add(".BMP"); listImg.add(".gif"); listImg.add(".GIF"); listImg.add(".png"); listImg.add(".PNG"); Iterator ite = list.iterator(); while (ite.hasNext()) { String content = (String) ite.next(); for (int i = 0; i < listImg.size(); i++) { if (content.contains(listImg.get(i))) { content = content.substring(0, content.indexOf(listImg .get(i)) + listImg.get(i).length()); } } URL u = new URL(content); URLConnection uc = u.openConnection(); InputStream in = uc.getInputStream(); String name = content.substring(content.lastIndexOf("/") + 1, content.length()); OutputStream out = new FileOutputStream(pathString + name); byte[] buffer = new byte[1024]; while (in.read(buffer) > 0) { out.write(buffer); } out.flush(); out.close(); in.close(); } } catch (Exception e) { } return contentString; } /** * 替换文本标签迭代 * @param contentString * @return * @throws ParserException */ public static String parserto(String contentString) throws ParserException { try { Parser parser = Parser.createParser(contentString, "UTF-8"); NodeList nodeList = parser .extractAllNodesThatMatch(new NodeFilter() { public boolean accept(Node node) { if (node instanceof LinkTag)// return true; return false; } }); for (int i = 0; i < nodeList.size(); i++) { LinkTag n = (LinkTag) nodeList.elementAt(i); // contentString=contentString.replace(n.toHtml().toString(),n.getLinkText()); } } catch (Exception e) { } return contentString; } public static String updateurl(String contentString) { Parser parser = Parser.createParser(contentString, "UTF-8"); NodeList nodeList = null; try { nodeList = parser .extractAllNodesThatMatch(new NodeFilter() { public boolean accept(Node node) { if (node instanceof ImageTag) return true; return false; } }); } catch (ParserException e) { e.printStackTrace(); } for (int i = 0; i < nodeList.size(); i++) { ImageTag n = (ImageTag) nodeList.elementAt(i); if (n.getImageURL().indexOf("http://e.huisou.com")==1) { System.out.println("start"); contentString=contentString.replace(n.getImageURL().substring("http://e.huisou.com".length()),"http://img.e.huisou.com"); System.out.println("end"); }else{ System.out.println("为找到外网的图片"); } } return contentString; } }
发表评论
文章已被作者锁定,不允许评论。
-
双色球数据抓入Mysql
2013-04-12 18:45 17341 mysql5.1 创建表 -- 创建表 id,开 ... -
从零学Java-Java简介
2013-02-28 15:06 27Java的发展史可百度获得 从零学 ... -
疑难杂症-itext 横纵混编
2013-02-26 16:20 1290POI在word处理写的能力很差,所以不适合生成复杂 ... -
itext对word处理合并单元格,处理图片,文档结构图
2013-01-18 16:29 7757效果: 代码: package com.aa ... -
Java与Javascript 最近值
2013-01-16 14:55 1731Double price = 19.0000; ... -
Java数学运算中 电脑计算和人的思维模式的差别
2012-12-13 15:31 8大多数情况下还是人的思维模式下的运算要快点。 怪状1: ... -
重构的重要性大于架构
2012-12-01 20:58 1690此文仅仅是个人理解。 架构和重构从本质上讲 ... -
Excel 参照列并单元格算法
2012-08-28 10:02 1032题目需要做的有2个功能 1 根据一个字符串数组 求出连续且相 ... -
Java基础误区
2012-08-12 01:36 9521 import java.util.Date; ... -
BigDecimal
2012-07-02 14:37 1074BigDecimal a = new BigDec ... -
朝花夕拾,Java基础回顾
2011-11-15 09:48 1069byte 在编译的时候最大可以多大?为什么? 为什么成员变量 ... -
ubuntu安装java
2011-07-04 04:23 13221:下载jdk ,比如:jdk-6u26-linux-i586 ... -
TCP和UDP
2011-07-01 16:43 1140TCP: Server端 try { Serve ... -
面试-编程-质数
2011-06-22 02:15 1106第一种算法 public static boolea ... -
Refecting in Java
2011-06-02 11:33 1124反射这个东西项目中会用到,如果我有一个Navigatio ... -
博客设计
2011-03-11 12:02 1250设计一个可以承受大访问量的博客表,Mysql数据库。 ... -
静态内部类-静态变量-非静态内部类之间的访问权限
2011-01-10 16:27 34public class Test { //注意静态 ... -
代码规范约定
2010-12-17 10:34 32处理变量,方法,类的命名之外 1必要 ... -
Java基础特殊应用
2010-11-25 16:11 1416古老的代码,java代替goto,代码没有实际的意 ... -
地址图片上传服务器
2010-11-17 14:12 561: 普通的地址图片上传,只能上传普通的地址一般是后缀jpg, ...
相关推荐
htmlparser[1]是一个纯的java写的html(标准通用标记语言下的一个应用)解析的库,它不依赖于其它的java库文件,主要用于改造或 提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。 毫不...
htmlparser [1] 是一个纯的java写的html(标准通用标记语言下的一个应用)解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。
HtmlParser2003 应用,用于从一个页面上解析html代码,获取所需信息
爬数据案例,二叉树典型案例,htmlparser读取html,httpclient实例应用,运用了迭代实现。
这篇文章介绍了 HtmlParser 开源包和 HttpClient 开源包的使用,在此基础上实现了一个简易的网络爬虫 (Crawler),来说明如何使用 HtmlParser 根据需要处理 Internet 上的网页,以及如何使用 HttpClient 来简化 Get ...
HTMLParser 版本1.0 GUI应用程序,可在MySQL中解析表和安全数据 用户需要密码才能运行应用程序。
企业版domutils 作为Tidelift订阅的一部分提供domutils以及数以千计的其他软件包正在与Tidelift合作,为您用于构建应用程序的开源依赖项提供商业支持和维护。 节省时间,降低风险并改善代码运行状况,同时向维护人员...
随着移动互联网的发展,更多的内容需要从传统...三种移动应用的优劣已经有很多文章进行比较,这里不再赘述。WebAPP,HybridAPP其最大的优点在于跨平台,对于控制开发者成本来说是不二选择,但其缺点也比较明显,其在
爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...
html解析器 用于从 Fotbal.cz 的数据创建 Excel 表格的工具
3HtmlParser 3.1简介 项目的管理档。 3.2使用HtmlPaser的开发步骤 (1)通过Parser类创建一个解释器 (2)创建Filter或者Visitor (3)使用parser根据filter或者visitor来取得所有符合条件的节点 (4)对节点内容...
用于处理或解析HTML文档的Java API。 如果您的Java应用程序需要或希望能够处理HTML格式的某些文本,则可能会发现此API很有趣。
04 JAVA SE 环境搭建 --> 基础程序 --> 面向对象 --> 应用开发 --> 高级应用 --> Java新特性 --> JDBC 05 JAVA EE WEB HTML --> JavaScript --> JSP --> JavaBean --> DAO --> Smartupload --> Servlet --> MVC 06 ...
2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的...
HTMLParser将网站处理成文档从html文档中删除所有脚本,注释和样式使用正则表达式解析html以提取表及其数据用于获取文档并将其解析为要在App中显示的数据的Main 跟踪用户选择哪个敌方英雄根据敌人的选择计算每个英雄...
HTMLParser HTMLTag HTTP HTTPSocket ISpiderReportable IWorkloadStorable Link Log Recognize RecognizeCountry RecognizeLink Spider SpiderInternalWorkload SpiderSQLWorkload ...
Cheerio包装了parse5解析器,可以选择使用@ FB55宽容的htmlparser2。 Cheerio可以解析几乎任何HTML或XML文档。 Cheerio解析标记,并提供用于遍历/操纵结果数据结构的API。 它不像Web浏览器那样解释结果。 具体来说...
15.6.2 HTMLParser 256 15.7 Python中可用的XML库 257 15.8 SAX的含义 257 15.8.1 基于流 258 15.8.2 事件驱动 258 15.8.3 DOM的含义 258 15.8.4 内存中访问 258 15.9 使用SAX或者DOM的 理由 259 15.9.1 能力权衡 ...