導航:首頁 > 編程語言 > java抓取新聞

java抓取新聞

發布時間:2022-07-06 12:15:08

1. 關於java新聞網站的演算法

問:新聞網站,如新浪網站,比如說國際足球頻道,每天會有跟新。請問這塊在代碼設計的地方,是從資料庫中讀取5條最新的(按照日期)還是說做一個程序由編輯強制置頂?
答:是從資料庫中讀取5條最新的(按照日期)

問:如果是論壇,需要把點擊最高的新聞自動排到前面,這個怎麼處理,需要用到servletcontext嗎 ?
答:讀取點擊最高的新聞記錄(你想讀取幾條就幾條),然後放到網頁上去,就怎麼回事.......跟你平時放其他數據沒什麼區別,都是根據條件取數據而已.

2. 求使用java語言抓取sina,搜狐網站上的新聞資訊的源碼,或者原理說明也可~

下載一個jsoup包,並導入到項目裡面。然後就可以很簡便地編寫爬蟲了。
jsoup教程:http://www.flatws.cn/article/program/css/2011-03-22/17981.html
及jsoup中文版標准使用手冊:http://www.open-open.com/jsoup/、

網上還有大量jsoup教程,使用中可能涉及到 正則表達式,這里推薦一個講解正則表達式基本操作的:http://www.regexlab.com/zh/regref.htm

除此之外,還要考慮數據保存。你需要建立一個資料庫,比如MySQL,然後將數據導入到資料庫裡面。這個過程可能比較困難。推薦網址:http://www.haogongju.net/art/1697604,上面有4個相關鏈接很有用。(其實上面講解了抓取的全過程,含較完整的源代碼。作者似乎沒有使用jsoup,使用jsoup可以節省很多代碼,比如截取某個標簽後面的內容,使用jsoup包後一行代碼就可以搞定)

最後將數據導出到word或execl里,可以使用工具Navicat ,網上很多綠色版,不用安裝。

3. java 如何實現網路爬蟲,爬取新聞評論,新聞內容可以獲取,但是評論無法在網頁源碼顯示。

如果評論是通過AJAX顯示的,那麼抓取有一定難度。
你的爬蟲需要能夠解釋JS,並解惑JS的內容。
但如果你只針對少數的網站進行抓取,則可以針對這些網站開發專用的蜘蛛。人工分析其JS,從中找到其獲取評論的AJAX介面,然後抓之。這樣簡單。
還可以用爬蟲操作一個瀏覽器,通過瀏覽器的介面獲取其運行完成後的顯示的內容

4. java怎麼抓取網站上的數據(比如新聞的標題

python 多省力

5. 如何用java實現新聞採集

如果代碼能力不是很好的話可以藉助一些軟體去抓取新聞的欄位
把數據抓取下來以後可以選擇存入資料庫當中
需要去重的話,在Java的集合框架中就有HashSet和HashMap可以對數據去重
使用帶Hash的集合時一定要注意,如果是存放自定義的對象一定要重寫equals方法和HashCode方法

6. 如果運用java獲取其他網站的內容

簡單的jsoup爬取,靜態頁面形式;

String url="a.atimo.cn";//靜態頁面鏈接地址
Document doc = Jsoup.connect(url).userAgent("Mozilla").timeout(4000).get();
if(doc!=null){

Elements es = doc.select("div.comments>ul>li");// System.out.println(es);
if(es!=null && es.size()>0){
for (Element element : es) {

String link = element.select("div>h3").attr("href");

String title = element.select("div>h3").text();

String author = element.select("div.c-abstract>em").text();

String content = element.select("dd>a>div.icos>i:eq(1)").text();

}

}

}

通過jsop解析返回Document 使用標簽選擇器,選擇頁面標簽中的值,即可獲取頁面內容。

7. java 對爬取到的N個新聞頁面如何做統一解析,最終拿到新聞標題和內容,因為頁面布局可能不一樣

新聞頁面不一樣,那麼布局就很可能不一樣。你想統一處理,這個很難。

兩種方案:

  1. 每個頁面,外部傳入標題,正文的xpath或者css path這樣你根據傳入的參數就可以動態抽取了,對於你來說就是統一處理,代碼寫起來簡單。缺點就是上萬個網站需要一一配置,很煩。

  2. 就是寫一個新聞正文和標題自動抽取的演算法,目前網上有不少這樣的演算法,有根據字數最多的一段內容來算的,有根據HTML標簽來計算的等等,這樣既不用外部手動配置,也不用你分開處理。缺點,既然是演算法自動抽取,那麼存在一個准確率的問題,沒法保證100%正確,畢竟HTML的使用太靈活了,各種用法都有。

8. 如何用java獲取網易新聞評論

可以使用java爬蟲,爬取網頁的信息下來,然後用正則表達式提取出評論。

下面程序代碼:

importjava.io.*;
importjava.net.*;
importjava.util.regex.*;

publicclassMain{
staticStringSendGet(Stringurl){
//定義一個字元串用來存儲網頁內容
Stringresult="";
//定義一個緩沖字元輸入流
BufferedReaderin=null;

try{
//將string轉成url對象
URLrealUrl=newURL(url);
//初始化一個鏈接到那個url的連接
URLConnectionconnection=realUrl.openConnection();
//開始實際的連接
connection.connect();
//初始化BufferedReader輸入流來讀取URL的響應
in=newBufferedReader(newInputStreamReader(
connection.getInputStream()));
//用來臨時存儲抓取到的每一行的數據
Stringline;
while((line=in.readLine())!=null){
//遍歷抓取到的每一行並將其存儲到result裡面
result+=line;
}
}catch(Exceptione){
System.out.println("發送GET請求出現異常!"+e);
e.printStackTrace();
}
//使用finally來關閉輸入流
finally{
try{
if(in!=null){
in.close();
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnresult;

}

staticStringRegexString(StringtargetStr,StringpatternStr){
//定義一個樣式模板,此中使用正則表達式,括弧中是要抓的內容
//相當於埋好了陷阱匹配的地方就會掉下去
Patternpattern=Pattern.compile(patternStr);
//定義一個matcher用來做匹配
Matchermatcher=pattern.matcher(targetStr);
//如果找到了
if(matcher.find()){
//列印出結果
returnmatcher.group(1);
}
return"Nothing";
}

publicstaticvoidmain(String[]args){

//定義即將訪問的鏈接
Stringurl="

//訪問鏈接並獲取頁面內容
Stringresult=SendGet(url);
//使用正則匹配圖片的src內容
StringimgSrc=RegexString(result,"src="(.+?)"");
//列印結果
System.out.println(imgSrc);
}
}
閱讀全文

與java抓取新聞相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:760
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:26
不能修改的pdf 瀏覽:750
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491