`
chenpenghui
  • 浏览: 39288 次
  • 性别: Icon_minigender_1
  • 来自: 台州
社区版块
存档分类
最新评论

HtmlPaser与StringEscapeUtils共舞抓取网页

    博客分类:
  • JAVA
阅读更多

用正则来匹配的确很强大,但如果是网页的话HtmlPaser更方便,由于抓下来的信息中文是unicode的,所以要用到apache的一个包,以下是代码:

import java.net.URL;
import org.apache.commons.lang3.StringEscapeUtils;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.NodeClassFilter;
import org.htmlparser.tags.TableColumn;
import org.htmlparser.tags.TableRow;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;




public class GetURLText {
	public void getText() throws Exception {
		String urlString="http://localhost:8080/TestXFace/TestHtmlPaser/ABC.jsp";
		URL url = new URL(urlString);
		Parser parser = new Parser(url.openConnection());
		parser.setEncoding("UTF-8");
		NodeFilter nodeFilter = new NodeClassFilter(TableTag.class);
		NodeList nodeList = parser.parse(nodeFilter);//得到table标签里所有的信息
		System.out.println(nodeList);
		for(int i=0;i<nodeList.size();i++){
			TableTag tableTag = (TableTag) nodeList.elementAt(i);
			TableRow[] rows = tableTag.getRows();
			for(TableRow row:rows){
			System.out.println("<tr>  :"+ row.toPlainTextString());
				TableColumn[] tableColumns = row.getColumns();
				for(TableColumn tableColumn :tableColumns){
					String string = tableColumn.toPlainTextString();
					string = StringEscapeUtils.escapeHtml3(string);//unicode2String 
					System.out.println("<td>  :"+string+"</td>");//得到<td>标签里的内容
				}
			}
		}
	}
	public static void main(String[] args) throws Exception {
		GetURLText getURLText = new GetURLText();
		getURLText.getText();
	}
}
 

 

分享到:
评论

相关推荐

    org.apache.commons.lang.StringEscapeUtils

    解决json数据中,返回的数据格式中带有反斜杠 如下所示{\"Count\":\"3\",\"ErrorString\":\"\",\"Success\":true,\"URL\":\"http:\\\/\\\/172.16.80.65:8080\\\/LoginSSO.aspx?UserCode=wubg&Type=WorkItem\",\...

    commons-lang3-3.4jar.rar

    `StringEscapeUtils` 类是Apache Commons Lang中的一个关键组件,专门用于处理字符串的转义和unescape操作。在Java标准库中,字符串的转义和unescape功能相对有限,而`StringEscapeUtils`则提供了更全面的解决方案。...

    消除斜杠commons-lang3-3.12.0工具类.zip

    特别是在与JSON数据打交道时,`unescapeJson()`方法可以帮助我们有效地去除反斜杠,恢复原始数据,从而更准确地解析和使用JSON信息。对于任何涉及到字符串处理的Java项目,了解并合理利用这个工具类是非常有益的。

    escape.sql

    escape.sql

    基于java+SpringBoot+Mybatis博客论坛交流平台网毕业设计源码+数据库+使用文档(高分优秀项目).zip

    基于java+SpringBoot+Mybatis博客论坛交流平台网毕业设计源码+数据库+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试...

    commons-lang3-3.8.1.rar

    XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本到网页中,使用户在不知情的情况下执行这些脚本,可能导致数据泄露、会话劫持等严重后果。 `StringEscapeUtils`提供的主要功能包括: 1. **HTML转义**:`...

    Spring-MVC处理XSS、SQL注入攻击的方法总结

    XSS 攻击是指攻击者利用网站程序对用户输入过滤不严,将恶意脚本注入到网页中,当其他用户浏览该页面时,脚本就会被执行,从而达到窃取用户资料、利用用户身份进行某种操作等目的。XSS 攻击主要分为三种类型:反射型...

    富文本编辑框在jsp页面的插件与jar包

    富文本编辑框是网页开发中常见的一种工具,它允许用户在网页上进行格式化文本的输入和编辑,常用于论坛、博客、内容管理系统等。在Java Web开发领域,特别是使用JSP(JavaServer Pages)技术时,我们有时需要集成富...

    org.apache.commons包

    10. **Commons Logging**: 一个轻量级的日志记录抽象层,可以与各种日志实现(如Log4j、java.util.logging)一起使用。 在给定的压缩包文件"commons1"中,可能包含了上述一个或多个Apache Commons子模块的jar文件。...

    在Java中轻松将HTML格式文本转换为纯文本(保留换行)

    第一步:引入Jsoup和lang和lang3的依赖: ...lang和lang3这两个包里有转换所需的工具类 ...import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; im

    详解json串反转义(消除反斜杠)

    在Java中,Apache Commons Lang库提供了便捷的工具类`StringEscapeUtils`,其`unescapeJavaScript()`方法可以轻松完成这一任务。理解并正确应用这个过程对于有效处理JSON数据至关重要,尤其是在进行数据交换和序列化...

    处理SQL语句commons-lang-2.6.jar

    apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串...

    commons-lang3-3.1_jar

    `StringEscapeUtils`是Apache Commons Lang中的一个关键类,它提供了一系列静态方法,用于转义和unescape字符串。这些方法主要应用于处理XML、HTML、JavaScript和SQL等格式的字符串,确保它们在特定上下文中正确且...

    字符串的encode/escape

    // 解码与unescape String decodedUrl = URLDecoder.decode(encodedUrl, StandardCharsets.UTF_8); System.out.println("Decoded URL: " + decodedUrl); String unescapedHtml = StringEscapeUtils....

    jsp调用FCKeditor示例,可在tomcat下直接运行

    **FCKeditor与JSP整合应用详解** 在Web开发中,富文本编辑器(Rich Text Editor)是不可或缺的一部分,它允许用户在网页上编辑内容,就像在Word文档中一样。FCKeditor是一款开源的JavaScript富文本编辑器,广泛应用...

    commons-lang3-3.4-API文档-中文版.zip

    赠送jar包:commons-lang3-3.4.jar; 赠送原API文档:commons-lang3-3.4-javadoc.jar; 赠送源代码:commons-lang3-3.4-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.4.pom; 包含翻译后的API文档:...

    详解json串反转义(消除反斜杠).docx

    下面将详细介绍其中一种简便的方法——使用 Apache Commons Lang 库中的 `StringEscapeUtils.unescapeJavaScript()` 方法。 #### 4. 使用 Apache Commons Lang 库进行反转义 Apache Commons Lang 是一个非常实用的...

    commons-lang3-3.1.jar.zip-java Html解码组件库

    除了HTML解码,`StringEscapeUtils`还支持其他类型的转义与非转义操作,比如XML、JavaScript和SQL的转义。这使得开发者能够统一地处理各种格式的字符串,减少了编写自定义解码逻辑的需求,提高了代码的可读性和维护...

    commons-math 3.6.1.jar

    《Apache Commons Math 3.6.1:数学计算与统计的高效工具》 Apache Commons Math 是一个开源项目,提供了一系列用于执行常见数学和统计运算的Java库。在标题提到的 "commons-math 3.6.1.jar" 中,我们关注的是这个...

    XSS.rar_XSS_cross scripting_cross site java_cross site scripting

    3. **DOM型XSS(DOM-Based XSS)**:与前两种不同,DOM型XSS不依赖服务器响应,而是利用了网页的DOM(Document Object Model)结构。攻击者可以通过改变DOM中的数据,使得JavaScript从不可信来源执行恶意代码。 ...

Global site tag (gtag.js) - Google Analytics