woody首頁、文檔和下載 - HTML 解析/提取器 - OSCHINA - 中文開源...

2021-01-09 開源中國

woody 是一款基於 Java 的 HTML 解析/提取器,用法非常類似 webmagic,是對其抽取模塊的完全重寫。

功能:

多種結果數據類型(String, char, byte, short int, long, double, float, string[], Set, List,Data) 支持用戶之定義腳本處理函數(目前支持 Javascript 函數配置處理) 支持 css、xpath 內核替換 支持 filter 功能 對 css、xpath 內核對象的緩存

一個完整的例子:

public class OsChinaBlog { public static void main(String[] args) throws Exception { Document doc = Jsoup.connect("http://www.oschina.net/news/43879/webmagic-0-3-0").timeout(60000) .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0").get(); String html = doc.html(); OsChinaBlogModel model = AnnotationExtractor.me().process(html, OsChinaBlogModel.class); System.out.println(model.toJson()); } public static class OsChinaBlogModel extends Model { public OsChinaBlogModel() { //use to reflect } @Inject @ComboExtract(value = { @ExtractBy(value = "h1.OSCTitle", type = ExprType.CSS), @ExtractBy(value = "//title/text()", type = ExprType.XPATH) }, op = OP.OR) public String title; @Inject @ExtractBy(value = "div.PubDate a[href~=http://my\\.oschina\\.net/]", type = ExprType.CSS) public String author; @Inject @ExtractBy(value = "發布於.\\s*(\\d+年\\d+月\\d+日)", type = ExprType.REGEX) public Date publishDate; @Inject @ComboExtract(value = { @ExtractBy(value = "div.PubDate", type = ExprType.CSS, setting = @Setting(outerHtml = true)), @ExtractBy(value = "(\\d+)評", type = ExprType.REGEX) }, op = OP.AND) public int commentNum; @Inject @ExtractBy(value = "span#p_favor_count", type = ExprType.CSS, setting = @Setting(function = @Function(value = "replace", args = { "+", "" }))) public int collectNum; @Inject @ComboExtract(value = { @ExtractBy(value = "div[id=userComments]", type = ExprType.CSS, setting = @Setting(outerHtml = true)), @ExtractBy(value = "div.TextContent", type = ExprType.CSS) }, op = OP.AND, multi = true) public List commentContents; @Inject @ExtractBy(value = "div[id=toolbar_wrapper]", setting = @Setting(fliters = { "b", "span" }), type = ExprType.CSS, impl = Document.class) public String weibo; }}

相關焦點

  • FlexPaper首頁、文檔和下載 - 在線文檔顯示組件 - OSCHINA - 中文...
    FlexPaper 是一個開源輕量級的在瀏覽器上顯示各種文檔的組件使用 PDF2SWF 準備好你的文檔首先要將 PDF 轉成 SWF,這步可以使用開源的 SwfTools 自動完成1.下載安裝 SwfTools,當前最新版本是0.92.
  • Foxit Reader首頁、文檔和下載 - PDF閱讀器 - OSCHINA - 中文開源...
    Foxit Reader(福昕閱讀器)是一個小巧的PDF文檔閱讀器有了它,你無須為僅僅閱讀PDF文檔而下載和安裝龐大的Adobe Reader,而且啟動快速,無需安裝。對中文支持非常好。福昕閱讀器新功能 1)支持屏幕取詞, 隨時隨地查閱各種單詞、成語及英語;2)支持單個或多個PDF文件查找, 方便用戶預覽與跳轉;3)允許最小化至系統託盤, 有效節省桌面空間;4)更友好的書籤顯示方式, 書籤與頁面實現同步顯示;5)一鍵去除試用標識, 方便正式版用戶一次性消除試用標識;6)支持頁面尺寸顯示, 更加一目了然;7)支持橫向和縱向滾屏選擇文本
  • xhtmlrenderer首頁、文檔和下載 - HTML解析器 - OSCHINA - 中文...
    解析HTML和CSS,並且能輸出成image,PDF等格式.作者的一篇文章:http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html
  • Sar2html首頁、文檔和下載 - Sar數據轉HTML - OSCHINA - 中文開源...
    Sar2html可以將 sar 程序執行的二進位結果數據轉成圖形的 HTML 格式,它提供了命令行工具、Web 接口和數據收集腳本。 這將在 /tmp 下生成名為 sar2html-hostname-date.tar.gz 的文件。Sar2html 包含三部分:sar2ascii, sar2html, 和 sar2html.php. 必須安裝 Gnuplot 來支持 PNG。
  • afterwork首頁、文檔和下載 - C#的HTML解析 - OSCHINA - 中文開源...
  • 中文開源社區喜訊:WordPress文檔翻譯完成
    官方的消息,WordPress文檔中文翻譯工作歷時一年多圓滿完成。此次翻譯工作由WordPress啦!組織專 業翻譯人員進行翻譯,完整的翻譯了WordPress官方所有的Codex手冊內容,是WordPress中文社區的寶貴財富,對於提升國內 WordPress使用和研究水平有重大幫助。中文文檔的結構經過重新整理,更方便閱讀。
  • browser.html首頁、文檔和下載 - 瀏覽器 - OSCHINA - 中文開源...
  • html中使用pdf.js在網頁中加載顯示pdf文件
    Mozilla開源了一個插件pdf.js,無需任何本地支持就可以在所有主流的瀏覽器上顯示PDF文檔,使用起來十分的方便。唯一的要求就是瀏覽器必須支持HTML5。一、pdf.js 簡介它是Mozilla開源一個插件pdf.js,大家可以去官方網站去下載下來。
  • Flutter Go首頁、文檔和下載 - Flutter 學習 App - OSCHINA
    Flutter 是什麼?Flutter是一個跨平臺的移動UI框架,旨在幫助開發者使用一套代碼開發高性能、高保真的Android和iOS應用。flutter優點主要包括: 跨平臺 開源 Hot Reload、響應式框架、及其豐富的控制項以及開發工具 靈活的界面設計以及控制項組合 藉助可以移植的GPU加速的渲染引擎以及高性能ARM代碼運行時已達到高質量的用戶體驗Flutter Go 的由來 Flutter學習資料太少,對於英文不好的同學相對來說比較困難 官網文檔示例不夠健全,不夠直觀 各個 widget 的用法各異,屬性紛繁
  • DoraCMS-SQL首頁、文檔和下載 - 內容管理系統 - OSCHINA - 中文...
    目前市面上有很多內容管理系統(如織夢、帝國等),都是以 php 為基礎編寫的,而 DoraCMS 則是基於 nodejs,只要有基本的前端開發經驗和少量的 js,就很容易上手。創建 DoraCMS 創建的目的是更深入地了解 nodejs 並付諸實踐,開源也是為了通過案例來不斷改進我們的 nodejs 水平,共同提高。其次,DoraCMS 結構清晰、模塊簡單,上手很容易。
  • LWT首頁、文檔和下載 - Lua 的 Web 工具包 - OSCHINA - 中文開源...
    PAho Go 庫目前是0.9版本,即將釋放1.0的穩定版本,由於被商業和開源項目採用(例如Gobot ),該項目被積極的維護。 特性 MQTT3.1 Qos 0 MQTT3.1.1 Qo...
  • CGLib首頁、文檔和下載 - Java動態代理 - OSCHINA - 中文開源技術...
    cglib大名在java界如雷貫耳,眾多優秀的開源項目均使用其來實現各自的功能(spring aop,hibernate等等),這裡主要簡單介紹一下cglib的使用,對比一下java原生的proxy還有javaassist. 說到cglib第一印象就是動態代理(啥是動態代理?
  • Leek首頁、文檔和下載 - 智能實時選股系統 - OSCHINA - 中文開源...
    Python實戰社群 Java實戰社群 長按識別下方二維碼,按需求添加 掃碼關注添加客服 進Python社群▲ 掃碼關注添加客服 進Java社群▲ 開源最前線(ID:OpenSourceTop) 猿妹整編 項目地址:https://github.com/giscafer/leek-fund 據說
  • MSNPSharp首頁、文檔和下載 - MSN通訊類庫 - OSCHINA - 中文開源...
    商業協作和項目管理平臺-TeamLab 網絡視頻會議軟體-VMukti 馳騁工作流程引擎-ccflow 【免費】正則表達式測試工具-Regex-Tester Windows-Phone-7-SDK Excel-讀寫組件-ExcelLibrary .NET集成開發環境-MonoDevelop 電話軟交換機
  • 推薦一個開源的中文技術文檔風格指南
    例如,多人協作時,如果每個人都有自己的風格,都按各自的表達和用詞習慣來,那麼最終的內容成品就很可能會風格不一,看起來不像為一個產品寫的文檔,還可能會給用戶造成困惑,或者留下不專業的印象。在小型創業公司做技術寫作的小夥伴可能會遇到這種情況:公司裡就自己一個人搞技術文檔,單槍匹馬作戰,似乎沒必要用風格指南。
  • Git 2.4.3 發布 - OSCHINA - 中文開源技術交流社區
    此外還包括常規修復,文檔更新和代碼清理。此版本現已提供下載:https://github.com/git/git/archive/v2.4.3.zip。Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。
  • FTPbox - FTPbox首頁、文檔和下載 - 文件傳輸工具 - OSCHINA...
    目前過濾器包含以下選項: 文件/文件夾:可以選擇特定的文檔或者文件夾。 擴展名: 可以過濾特定的擴展名。 另外還修復了一些bug。 FTPbox是一個開源的通過FTP可以將你的文件同步到你自己的主機上的軟體。你可以在任何有網絡...
  • ESRGAN首頁、文檔和下載 - AI 超解析度工具 - OSCHINA - 中文開源...
    (有兩個示例圖像-狒狒和漫畫)。3.從Google雲端硬碟或百度雲端硬碟下載經過預訓練的模型。將模型放在./models。4.作者提供了兩種具有高感知質量和高 PSNR 性能的模型。運行測試:提供 ESRGAN模型和 RRDB_PSNR 模型,可以配置test.py。
  • 最新文庫文檔下載神器,免安裝,可下載8家文庫資源
    不久前大羅分享了一個文庫下載神器——冰點文庫下載器,最近有同學反映說有時候下載不了,今天大羅給大家重新找了一個文庫下載工具——文庫下載器。直接複製需要下載的對應文庫連結,粘貼到解析框點擊「浪起來」即可解析下載。
  • FineUI(開源版)v4.2.0 發布了! - OSCHINA - 中文開源技術交流社區
    原始碼已經託管到OSC:http://git.oschina.net/sanshi/FineUI FineUI