亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

零基礎寫Java知乎爬蟲之將抓取的內容存儲到本地

2019-11-26 15:21:46
字體:
來源:轉載
供稿:網友

說到Java的本地存儲,肯定使用IO流進行操作。
首先,我們需要一個創建文件的函數createNewFile:

復制代碼 代碼如下:

public static boolean createNewFile(String filePath) { 
        boolean isSuccess = true; 
        // 如有則將"http://"轉為"/",沒有則不產生任何變化 
        String filePathTurn = filePath.replaceAll("////", "/"); 
        // 先過濾掉文件名 
        int index = filePathTurn.lastIndexOf("/"); 
        String dir = filePathTurn.substring(0, index); 
        // 再創建文件夾 
        File fileDir = new File(dir); 
        isSuccess = fileDir.mkdirs(); 
        // 創建文件 
        File file = new File(filePathTurn); 
        try { 
            isSuccess = file.createNewFile(); 
        } catch (IOException e) { 
            isSuccess = false; 
            e.printStackTrace(); 
        } 
        return isSuccess; 
    } 

然后,我們需要一個寫入文件的函數:

復制代碼 代碼如下:

public static boolean writeIntoFile(String content, String filePath, 
            boolean isAppend) { 
        boolean isSuccess = true; 
        // 先過濾掉文件名 
        int index = filePath.lastIndexOf("/"); 
        String dir = filePath.substring(0, index); 
        // 創建除文件的路徑 
        File fileDir = new File(dir); 
        fileDir.mkdirs(); 
        // 再創建路徑下的文件 
        File file = null; 
        try { 
            file = new File(filePath); 
            file.createNewFile(); 
        } catch (IOException e) { 
            isSuccess = false; 
            e.printStackTrace(); 
        } 
        // 寫入文件 
        FileWriter fileWriter = null; 
        try { 
            fileWriter = new FileWriter(file, isAppend); 
            fileWriter.write(content); 
            fileWriter.flush(); 
        } catch (IOException e) { 
            isSuccess = false; 
            e.printStackTrace(); 
        } finally { 
            try { 
                if (fileWriter != null) 
                    fileWriter.close(); 
            } catch (IOException e) { 
                e.printStackTrace(); 
            } 
        } 
 
        return isSuccess; 
    } 

我們把這兩個函數封裝到一個FileReaderWriter.java文件中以便后續使用。
接著我們回到知乎爬蟲中。
我們需要給知乎的Zhihu封裝類加個函數,用來格式化寫入到本地時的排版。

復制代碼 代碼如下:

public String writeString() { 
        String result = ""; 
        result += "問題:" + question + "/r/n"; 
        result += "描述:" + questionDescription + "/r/n"; 
        result += "鏈接:" + zhihuUrl + "/r/n"; 
        for (int i = 0; i < answers.size(); i++) { 
            result += "回答" + i + ":" + answers.get(i) + "/r/n"; 
        } 
        result += "/r/n/r/n"; 
        return result; 

OK,這樣就差不多了,接下來吧mian方法中的System.out.println改成

復制代碼 代碼如下:

// 寫入本地 
        for (Zhihu zhihu : myZhihu) { 
            FileReaderWriter.writeIntoFile(zhihu.writeString(), 
                    "D:/知乎_編輯推薦.txt", true); 
        } 

運行,便可以看到本來在控制臺看到的內容已經被寫到了本地的txt文件里:

大體一看沒什么問題,仔細看看發現問題:存在太多的html標簽,主要是<b>和<br>。
我們可以在輸出的時候對這些標記進行處理。
先把<br>換成io流里面的/r/n,再把所有的html標簽都刪除,這樣看起來便會清晰很多。

復制代碼 代碼如下:

public String writeString() { 
    // 拼接寫入本地的字符串 
    String result = ""; 
    result += "問題:" + question + "/r/n"; 
    result += "描述:" + questionDescription + "/r/n"; 
    result += "鏈接:" + zhihuUrl + "/r/n"; 
    for (int i = 0; i < answers.size(); i++) { 
        result += "回答" + i + ":" + answers.get(i) + "/r/n/r/n"; 
    } 
    result += "/r/n/r/n/r/n/r/n"; 
    // 將其中的html標簽進行篩選 
    result = result.replaceAll("<br>", "/r/n"); 
    result = result.replaceAll("<.*?>", ""); 
    return result; 

這里的replaceAll函數可以使用正則,于是所有的<>標簽在最后就都被刪除了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲影院色在线观看免费| 久久人人爽人人爽人人片亚洲| 欧美性猛交xxxx免费看久久久| 欧美香蕉大胸在线视频观看| 欧美中文在线观看国产| 精品国模在线视频| 97av在线视频免费播放| 国产日韩欧美在线看| 日韩成人性视频| 亚洲区一区二区| 中文字幕亚洲欧美日韩2019| 久久精品视频播放| 亚洲一区二区三区久久| 日韩中文字幕在线精品| 国产成人福利夜色影视| 国产97色在线|日韩| 国产精品老女人视频| 综合网中文字幕| 国产精品色午夜在线观看| 亚洲视频一区二区| 欧美一级片免费在线| 亚洲天堂成人在线视频| 国产成人福利网站| 欧美理论电影在线观看| 成人激情在线播放| 亚洲韩国日本中文字幕| 国产亚洲人成a一在线v站| 久久伊人色综合| 国产成人涩涩涩视频在线观看| 日韩在线欧美在线| 91av在线影院| 欧美性猛交xxxx免费看漫画| 亚洲人成欧美中文字幕| 欧美激情久久久| 日韩一区二区av| 精品亚洲一区二区三区在线观看| 久久精品国亚洲| 亚洲精品福利免费在线观看| 日韩亚洲成人av在线| 亚洲免费av网址| 欧美另类xxx| 午夜精品久久久久久久男人的天堂| 国产综合香蕉五月婷在线| 黄色精品在线看| 成人在线免费观看视视频| 欧美国产日韩一区二区三区| 欧美电影院免费观看| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品成人品| 国产成人精品优优av| 中文字幕精品在线视频| 亚洲第一网中文字幕| 夜夜嗨av一区二区三区免费区| 国产亚洲一区二区精品| 91精品久久久久久久久青青| 中文字幕精品久久久久| 欧美性猛交xxxxx免费看| 国产女精品视频网站免费| 亚洲在线视频观看| 欧美日韩另类视频| 情事1991在线| 伊人久久综合97精品| 久久香蕉国产线看观看网| 日韩大片在线观看视频| 欧美日韩美女在线观看| 久久精品视频一| 亚洲精品国精品久久99热| 色香阁99久久精品久久久| 最近中文字幕日韩精品| www国产精品com| 欧美在线一区二区视频| 亚洲精品国产精品自产a区红杏吧| 精品无人国产偷自产在线| 国产精品88a∨| 日韩在线不卡视频| 欧美成人一区在线| 国产精品欧美激情在线播放| 欧美精品在线播放| 国产成人精品一区| 影音先锋欧美在线资源| 日韩h在线观看| 91高清视频免费观看| 国产精品视频一区二区三区四| 黑人巨大精品欧美一区二区免费| 欧美一区视频在线| 国产精品扒开腿做爽爽爽男男| 亚洲影院色在线观看免费| 国产精品三级在线| 97在线免费观看| 一本色道久久88亚洲综合88| 51ⅴ精品国产91久久久久久| 91免费视频网站| 57pao国产精品一区| 激情久久av一区av二区av三区| 国模精品视频一区二区三区| 91精品久久久久久综合乱菊| 91牛牛免费视频| 久久久精品网站| 成人欧美一区二区三区在线湿哒哒| 精品小视频在线| 国产欧美精品一区二区三区介绍| 国产精品黄视频| 亚洲男人第一av网站| 日韩中文字幕久久| 91在线观看免费高清| 欧美成人午夜激情在线| 日韩av手机在线| 欧美整片在线观看| 国产日韩欧美夫妻视频在线观看| 中日韩美女免费视频网址在线观看| 一本一道久久a久久精品逆3p| 91精品国产777在线观看| 国产视频精品免费播放| 日韩免费av片在线观看| 欧美尺度大的性做爰视频| 亚洲四色影视在线观看| 国产精品91久久久久久| 欧美一区二区三区免费视| 成人免费在线视频网站| 国产精品精品视频一区二区三区| 国产一区二区视频在线观看| 亚洲高清久久久久久| 中日韩美女免费视频网址在线观看| 成人中文字幕在线观看| 日韩av在线免费看| 久久韩国免费视频| 欧美日韩在线影院| 国产精品一区二区三| 国产+人+亚洲| 亚洲国产精品人人爽夜夜爽| 国产精品久久一| 日韩精品免费观看| 亚洲欧美日韩久久久久久| 91国产视频在线| 亚洲免费视频网站| 一本色道久久88综合日韩精品| 国产成人精彩在线视频九色| 国产精品久久久久99| 久久成人国产精品| 国产精品va在线播放| 亚洲精品欧美日韩专区| 成人免费高清完整版在线观看| 亚洲人成电影在线| 欧美激情亚洲激情| 欧美又大又粗又长| 久久影院模特热| 午夜免费在线观看精品视频| 久久精品人人做人人爽| 超在线视频97| 国产成人精品电影久久久| 最近2019中文字幕在线高清| 亲爱的老师9免费观看全集电视剧| 国产欧美一区二区白浆黑人| 久久人体大胆视频| 97香蕉超级碰碰久久免费的优势| 久久精品人人做人人爽| 欧美激情乱人伦| 欧美性一区二区三区| 久久久免费观看视频| 国产精品91久久久| 欧美视频免费在线| 欧美激情精品久久久久久久变态| 911国产网站尤物在线观看| 国产成人精品午夜|