你是要抓網(wǎng)頁(yè)源代碼,還是瀏覽器渲染后的body;
成都創(chuàng)新互聯(lián)公司提供高防服務(wù)器、云服務(wù)器、香港服務(wù)器、德陽(yáng)機(jī)房托管等
如果是網(wǎng)頁(yè)源代碼,很簡(jiǎn)單,用java自帶的http就好了;
如果是渲染后的body(包括js和ajax執(zhí)行后的頁(yè)面),需要調(diào)用無(wú)界面瀏覽器,然后通過(guò)api獲得返回的數(shù)據(jù)
import?java.util.HashSet;
import?java.util.Set;
public?class?ShortSet?{
public?static?void?main(String[]?args)?{
SetShort?s?=?new?HashSetShort();
for?(Short?i?=?0;?i??100;?i++)?{
short?j?=?100;
s.add(j);
short?w?=?100;
w?=?(short)?(w?-?1?+?1);
s.remove(w);
}
System.out.println(s.size());
for?(Short?i?=?0;?i??100;?i++)?{
s.add(i);
//關(guān)鍵的問(wèn)題在于這里?i-?1
//Type?mismatch:?cannot?convert?from?int?to?short
//下面這句話會(huì)報(bào)錯(cuò),為什么,因?yàn)閕-1是int類型,不是short類型的,如果你像我上面做的進(jìn)行強(qiáng)制類型轉(zhuǎn)化的話,看下面
// short?st?=?i?-?1;
s.remove(i?-?1);
}
System.out.println(s.size());
for?(Short?i?=?0;?i??100;?i++)?{
s.add(i);
//結(jié)果就是1,最后一個(gè)100沒(méi)有進(jìn)行刪除操作
s.remove((short)(i?-?1));
}
System.out.println(s.size());
}
}
根據(jù)java網(wǎng)絡(luò)編程相關(guān)的內(nèi)容,使用jdk提供的相關(guān)類可以得到url對(duì)應(yīng)網(wǎng)頁(yè)的html頁(yè)面代碼。
針對(duì)得到的html代碼,通過(guò)使用正則表達(dá)式即可得到我們想要的內(nèi)容。
比如,我們?nèi)绻氲玫揭粋€(gè)網(wǎng)頁(yè)上所有包括“java”關(guān)鍵字的文本內(nèi)容,就可以逐行對(duì)網(wǎng)頁(yè)代碼進(jìn)行正則表達(dá)式的匹配。最后達(dá)到去除html標(biāo)簽和不相關(guān)的內(nèi)容,只得到包括“java”這個(gè)關(guān)鍵字的內(nèi)容的效果。
從網(wǎng)頁(yè)上爬取圖片的流程和爬取內(nèi)容的流程基本相同,但是爬取圖片的步驟會(huì)多一步。
需要先用img標(biāo)簽的正則表達(dá)式匹配獲取到img標(biāo)簽,再用src屬性的正則表達(dá)式獲取這個(gè)img標(biāo)簽中的src屬性的圖片url,然后再通過(guò)緩沖輸入流對(duì)象讀取到這個(gè)圖片url的圖片信息,配合文件輸出流將讀到的圖片信息寫(xiě)入到本地即可。
網(wǎng)站欄目:數(shù)據(jù)收集java代碼 Java數(shù)據(jù)挖掘
當(dāng)前地址:http://chinadenli.net/article42/hgoghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、軟件開(kāi)發(fā)、網(wǎng)站維護(hù)、網(wǎng)站收錄、Google、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)