首页 > 编程知识 正文

java解析htmljs(java解析html页面)

时间:2023-12-24 12:05:52 阅读:321127 作者:BSVA

本文目录一览:

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代码

用正则表达式替换掉尖括号里边的内容,匹配正则表达式:[^]*

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。