如果代碼能力不是很好的話可以借助一些軟件去抓取新聞的字段

成都創(chuàng)新互聯(lián)公司專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國電信/網(wǎng)通/移動(dòng)機(jī)房,內(nèi)江機(jī)房主機(jī)托管服務(wù)有保障!
把數(shù)據(jù)抓取下來以后可以選擇存入數(shù)據(jù)庫當(dāng)中
需要去重的話,在Java的集合框架中就有HashSet和HashMap可以對數(shù)據(jù)去重
使用帶Hash的集合時(shí)一定要注意,如果是存放自定義的對象一定要重寫equals方法和HashCode方法
火車頭采集器采集內(nèi)容之前是先采集網(wǎng)址的,所以你說的這個(gè)網(wǎng)址其實(shí)早就知道了,而采集內(nèi)容的時(shí)候是不會(huì)采集到得,因?yàn)橐话闱闆r下一個(gè)網(wǎng)頁的源代碼里不會(huì)有這個(gè)網(wǎng)頁的網(wǎng)址。 比如A是一個(gè)網(wǎng)頁的網(wǎng)址,用火車頭采集器的時(shí)候首先讀取的就是這個(gè)網(wǎng)頁地址A,然后再根據(jù)這個(gè)地址來請求數(shù)據(jù),根據(jù)你的采集規(guī)則來采集內(nèi)容,而這個(gè)網(wǎng)頁的內(nèi)容里沒有這個(gè)網(wǎng)址A,那么你肯定是采集不到的。那么這個(gè)網(wǎng)址A在哪里呢?在生成的文件里。 比如你保存到本地之后生成一個(gè)CSV的文件,打開之后再最后一列(URL)就是采集的內(nèi)容對應(yīng)的這個(gè)網(wǎng)址。
可以使用HttpClient讀取網(wǎng)頁的內(nèi)容
整個(gè)過程分為六步
創(chuàng)建 HttpClient 的實(shí)例
2. 創(chuàng)建某種連接方法的實(shí)例,在這里是 GetMethod。在 GetMethod 的構(gòu)造函數(shù)中傳入待連接的地址
3. 調(diào)用第一步中創(chuàng)建好的實(shí)例的 execute 方法來執(zhí)行第二步中創(chuàng)建好的 method 實(shí)例
4. 讀 response
5. 釋放連接。無論執(zhí)行方法是否成功,都必須釋放連接
6. 對得到后的內(nèi)容進(jìn)行處理
實(shí)現(xiàn)如下:
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpClientTest...{
public static void main(String[] args) {
//構(gòu)造HttpClient的實(shí)例
HttpClient httpClient = new HttpClient();
//創(chuàng)建GET方法的實(shí)例
GetMethod getMethod = new GetMethod("");
//使用系統(tǒng)提供的默認(rèn)的恢復(fù)策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
//執(zhí)行g(shù)etMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
//讀取內(nèi)容
byte[] responseBody = getMethod.getResponseBoy();
//處理內(nèi)容
System.out.println(new String(responseBody));
} catch (HttpException e) {
//發(fā)生異常,可能是協(xié)議不對或者返回的內(nèi)容有問題
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
//發(fā)生網(wǎng)絡(luò)異常
e.printStackTrace();
} finally {
//釋放連接
getMethod.releaseConnection();
}
}
}
這樣得到的是頁面的源代碼,再進(jìn)行處理
精通Java語言,熟練掌握了j2ee、jsp、servlet、struts、spring、hibernate技術(shù),熟練數(shù)據(jù)庫Oracle的數(shù)據(jù)庫技術(shù)的管理與維護(hù),熟練運(yùn)用SQL語句,熟練運(yùn)用struts、hibernate、spring輕量級(jí)三大框架技術(shù)進(jìn)行項(xiàng)目開發(fā)。熟悉java開發(fā)工具Eclipse使用。熟練Tomcat容器的配置及使用。熟練使用HTML/XML標(biāo)記語言和JS腳本語言、熟練UML統(tǒng)一建模語言,能運(yùn)用SybasePowerDesigner進(jìn)行模型建立。還有盡量不要說精通!!精通不符合實(shí)際,因?yàn)楹軐γ嬖嚬僮约憾疾桓艺劸ǎ?/p>
當(dāng)前標(biāo)題:數(shù)據(jù)采集器代碼java,數(shù)據(jù)采集器是什么
分享路徑:http://chinadenli.net/article30/hsghso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)