java網頁正文提取工具(html提取工具)

本文目錄一覽:

Java語言編寫提取網頁信息!求高手指導!

JSoup就是很好的第三方解析網頁的工具

Document doc1  = Jsoup.connect(“地址”).get();//參數是地址  

Document doc2 = Jsoup.parse(String html);//參數是網頁字元串

//然後就是利用JSoup解析網頁

優勢:爬取網頁快速. 解析網頁方便

強烈推薦~

Java 如何只提取網頁源代碼中的正文部分,就是正文部分包含標籤也沒關係,就是要那部分包含標籤的正文

相似網頁可以用正則表達式來截取

不同網站的設計,對正文部分沒有一個統一的規則。。。

只能找規律,然後做一個類似通解的方法,但是誤差無法避免了。。

大概思路如下:

可以嘗試著做一個對比的方法,找出某個標籤內的文字和標籤的比例最大

文字最多,標籤最少的 一般來說是正文

具體實現:

得到網頁內容,把網頁內容分析成一個樹(按照每個標籤為一個節點),樹的內容包含子節點數和該樹一下的文字內容數量。

大概的對節點進行對比分析,得到節點最少,文字最多的節點。 這個就是那個正文節點了。

以上內容只適合博客、文章、新聞類的網站。搜索引擎網站等 很多標籤穿插其間的無法適用。

如何提取網頁里的文本?

1、首先,我們打開瀏覽器,找到需要複製的文字。

2、右鍵點擊網頁內的空白處,如圖所示,彈出菜單中選擇「審查元素」。

3、此時,頁面就會顯示所有組成元素,我們只要選中我們需要複製的段落,右鍵點擊,「copy element」(複製元素)就可以了。

4、打開記事本或者Word,點擊粘貼,文字複製下來的效果如下圖所示。

我想用java的正則表達式提取網頁正文,但不知道哪裡錯了,請幫忙看一下這個表達式

div\sclass\=”content\-body”\sid\=”shareBody”(?value(\w*))\/div

import java.util.regex.*;

// 表達式對象

Pattern p = Pattern.compile(“div\\sclass\\=\”content\\-body\”\\sid\\=\”shareBody\”(?value(\\w*))\\/div”);

// 創建 Matcher 對象

Matcher m = p.matcher(“”);

// 是否找到匹配

boolean found = m.find();

if( found )

{

  String foundstring = m.group();

  int    beginPos    = m.start();

  int    endPos      = m.end();

}

原創文章,作者:EUCWO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/325016.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EUCWO的頭像EUCWO
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論