本文目录一览:
- 1、java中几种解析html的工具
- 2、如何在java后台写html字符串传到js的前台,怎么把其中的标签解析成html
- 3、怎么用java解析html页面里的javascript? 有一些网页里包含了很多的javascript脚本。
- 4、java解析html转换成字符串中的js代码
java中几种解析html的工具
HTML分析是一个比较复杂的工作,Java世界主要有几款比较方便的分析工具:
1.Jsoup
Jsoup是一个集强大和便利于一体的HTML解析工具。它方便的地方是,可以用于支持用jQuery中css selector的方式选取元素,这对于熟悉js的开发者来说基本没有学习成本。
String content = "blabla";
Document doc = JSoup.parse(content);
Elements links = doc.select("a[href]");
Jsoup还支持白名单过滤机制,对于网站防止XSS攻击也是很好的。
2.HtmlParser
HtmlParser的功能比较完备,也挺灵活,但谈不上方便。这个项目很久没有维护了,最新版本是2.1。HtmlParser的核心元素是Node,对应一个HTML标签,支持getChildren()等树状遍历方式。HtmlParser另外一个核心元素是NodeFilter,通过实现NodeFilter接口,可以对页面元素进行筛选。这里有一篇HtmlParser的使用文章:使用 HttpClient 和 HtmlParser 实现简易爬虫。
3.Apache tika
tika是专为抽取而生的工具,还支持PDF、Zip甚至是Java Class。使用tika分析HTML,需要自己定义一个抽取内容的Handler并继承org.xml.sax.helpers.DefaultHandler,解析方式就是xml标准的方式。crawler4j中就使用了tika作为解析工具。SAX这种流式的解析方式对于分析大文件很有用,我个人倒是认为对于解析html意义不是很大。
InputStream inputStream = null;
HtmlParser htmlParser = new HtmlParser();
htmlParser.parse(new ByteArrayInputStream(page.getContentData()),
contentHandler, metadata, new ParseContext());
4.HtmlCleaner与XPath
HtmlCleaner最大的优点是:支持XPath的方式选取元素。XPath是一门在XML中查找信息的语言,也可以用于抽取HTML元素。XPath与CSS Selector大部分功能都是重合的,但是CSS Selector专门针对HTML,写法更简洁,而XPath则是通用的标准,可以精确到属性值。XPath有一定的学习成本,但是对经常需要编写爬虫的人来说,这点投入绝对是值得的。
如何在java后台写html字符串传到js的前台,怎么把其中的标签解析成html
如果你是通过后台编写的,那么你以字符串的形式传到前台,然后你这些html需要在哪里显示,那么你只需要在那个标签后面,先获取那个标签比如a,然后通过a.append(b),b就是你返回来的字符串,这样就可以了!
怎么用java解析html页面里的javascript? 有一些网页里包含了很多的javascript脚本。
你可以使用谷歌浏览器或者火狐浏览器,使用f12键,打开页面调试功能,它显示的就是经过JavaScript执行后的页面,但是并不是所有的JavaScript执行后的页面,也为某些JavaScript的执行需要鼠标或者其他的事件发生以后才会执行,比如onclick、onmouseover等等,ie也有f12的功能,但是用起来不是很方便
java解析html转换成字符串中的js代码
用正则表达式替换掉尖括号里边的内容,匹配正则表达式:[^]*