本文目錄一覽:
- 1、Java語言編寫提取網頁信息!求高手指導!
- 2、Java 如何只提取網頁源代碼中的正文部分,就是正文部分包含標籤也沒關係,就是要那部分包含標籤的正文
- 3、如何提取網頁里的文本?
- 4、我想用java的正則表達式提取網頁正文,但不知道哪裡錯了,請幫忙看一下這個表達式
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