本文目錄一覽:
- 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代碼
用正則表達式替換掉尖括弧裡邊的內容,匹配正則表達式:[^]*
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/304752.html