步驟簡介
獲取鏈結文字內容:urlconnection例項呼叫getinputstream()獲取輸入流,並返回輸入流(inputstream)物件,初始化給inputstreamreader,將位元組流轉換為字元流,並指定字符集編碼utf-8。bufferedreader從字元流中逐行讀取文字存入string型別。
查重:set集合來判斷查詢到的子串是否重複,如果不重複則新增到集合裡。
讀取輸入流:url類初始化給定查詢到的鏈結,並呼叫openconnection()返回乙個httpurlconnection的例項,用這個例項呼叫getinputstream()獲取輸入流,並初始化給緩衝輸入流bufferedinputstream。
寫入輸出流:建立bytearrayoutputstream例項和byte陣列例項,用bufferedinputstream讀入到byte陣列裡,並快取到位元組陣列輸出流。
儲存資料:fileoutputstream(string name)建立向指定名稱的檔案中寫入資料的輸出檔案流,並初始化到輸出流,然後將位元組陣列中的資料通過outputstream寫入指定位置。
關閉流:對以上的輸入輸出流的關閉close();
**示例
setimageurlset = new hashset();
urlconnection urlconn;
try
// system.out.println(src);
pattern p = pattern
.compile("");
matcher m = p.matcher(src);
while (m.find())
imageurlset.add(imageurl);
urlconn = new url(imageurl).openconnection();
bufferedinputstream instream = new bufferedinputstream(
urlconn.getinputstream());
bytearrayoutputstream boutstream = new bytearrayoutputstream();
byte buf = new byte[1024];
int size = 0;
while ((size = instream.read(buf)) > 0)
byte srcbin = boutstream.tobytearray();
string filename = imageurl.replaceall("^.+/", "");
system.out.print(filename+"\t");
outputstream osr = new bufferedoutputstream(
new fileoutputstream("ios7/" + filename));
osr.write(srcbin);
instream.close();
boutstream.close();
osr.close();
} }} catch (malformedurlexception e) catch (ioexception e) catch (interruptedexception e)
python爬蟲簡單示例
準備工作 安裝python3環境 beautifulsoup4庫 from urllib import request req request.urlopen print req.read decode utf 8 目的是不讓伺服器認為是爬蟲,若不帶此瀏覽器資訊,則可能會報錯 req request...
java的簡單爬蟲
印言 之前沒有寫過爬蟲,最近被學長壓迫,所以迅速學習了一波爬蟲,這個過程十分的痛苦。之前自己也沒有發部落格的習慣,彷彿發部落格是上個世紀的事情,之前也有很多技術學習,但沒有放到部落格上。希望以後學了什麼技術可以發上來,既加深自己的印象,還幫助了大眾。接下來說一說我爬取過程中遇到的坑。怎麼解決這兩個坑...
Java簡單網頁爬蟲
簡單原理就是使用apache訪問網頁,獲取網頁內容,然後根據匹配的開始和結束位置,得到想要的結果 首先需要引入apache的幾個包 import org.apache.http.util.entityutils 然後設定url,需要獲取的開始和結束位置的html,具體位置可以通過檢視網頁源 得到 p...