可以使用HttpClient讀取網頁的內容
創新互聯公司是專業的永平網站建設公司,永平接單;提供成都網站設計、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行永平網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
整個過程分為六步
創建 HttpClient 的實例
2. 創建某種連接方法的實例,在這里是 GetMethod。在 GetMethod 的構造函數中傳入待連接的地址
3. 調用第一步中創建好的實例的 execute 方法來執行第二步中創建好的 method 實例
4. 讀 response
5. 釋放連接。無論執行方法是否成功,都必須釋放連接
6. 對得到后的內容進行處理
實現如下:
import java.io.IOException;
import org.apache點抗 mons.httpclient.*;
import org.apache點抗 mons.httpclient.methods.GetMethod;
import org.apache點抗 mons.httpclient.params.HttpMethodParams;
public class HttpClientTest...{
public static void main(String[] args) {
//構造HttpClient的實例
HttpClient httpClient = new HttpClient();
//創建GET方法的實例
GetMethod getMethod = new GetMethod("");
//使用系統提供的默認的恢復策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
//執行getMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
//讀取內容
byte[] responseBody = getMethod.getResponseBoy();
//處理內容
System.out.println(new String(responseBody));
} catch (HttpException e) {
//發生異常,可能是協議不對或者返回的內容有問題
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
//發生網絡異常
e.printStackTrace();
} finally {
//釋放連接
getMethod.releaseConnection();
}
}
}
這樣得到的是頁面的源代碼,再進行處理
下載一個jsoup包,并導入到項目里面。然后就可以很簡便地編寫爬蟲了。
jsoup教程:
及jsoup中文版標準使用手冊:、
網上還有大量jsoup教程,使用中可能涉及到 正則表達式,這里推薦一個講解正則表達式基本操作的:
除此之外,還要考慮數據保存。你需要建立一個數據庫,比如MySQL,然后將數據導入到數據庫里面。這個過程可能比較困難。推薦網址:,上面有4個相關鏈接很有用。(其實上面講解了抓取的全過程,含較完整的源代碼。作者似乎沒有使用jsoup,使用jsoup可以節省很多代碼,比如截取某個標簽后面的內容,使用jsoup包后一行代碼就可以搞定)
最后將數據導出到word或execl里,可以使用工具Navicat ,網上很多綠色版,不用安裝。
1.編寫useSourceViewer 類的基本框架,該類僅包括無返回值的main ()方法,該方法從參數中獲取URL,通過輸入緩沖和輸出緩沖將該URL 原碼輸出。
2.編寫useSourceViewer 類,代碼如下:
import java點虐 .*;
import java.io.*;
public class useSourceViewer
{
public static void main (String[] args)
{
if (args.length 0)
{
try
{
//讀入URL
URL u = new URL(args[0]);
InputStream in = u.openStream( );
// 為增加性能存儲輸入流
in = new BufferedInputStream(in);
// 將輸入流連接到閱讀器
Reader r = new InputStreamReader(in);
int c;
while ((c = r.read( )) != -1)
{
System.out.print((char) c);
}
Object o = u.getContent( );
System.out.println("I got a " + o.getClass().getName( ));
}
catch (MalformedURLException e)
{
System.err.println(args[0] + " is not a parseable URL");
}
catch (IOException e)
{
System.err.println(e);
}
} // end if
} // end main
} // end SourceViewer}
文章名稱:java新聞采集源代碼 java新聞管理系統 開源
轉載來于:http://vcdvsql.cn/article24/ddigsje.html
成都網站建設公司_創新互聯,為您提供動態網站、微信小程序、網站排名、企業建站、網站建設、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯