ホームページ  >  記事  >  Java  >  Zhihu クローラーに Java を最初から書き込み、キャプチャしたコンテンツをローカルに保存します (2)

Zhihu クローラーに Java を最初から書き込み、キャプチャしたコンテンツをローカルに保存します (2)

黄舟
黄舟オリジナル
2016-12-24 11:50:451744ブラウズ

これら 2 つの関数を後で使用できるように FileReaderWriter.java ファイルにカプセル化します。
その後、Zhihu クローラーに戻ります。
ローカルに書き込むときに植字をフォーマットする関数を Zhihu の 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、これでほぼ完了です。 次に、main メソッドの System.out.println を

コードは次のとおりです:

// 写入本地  
        for (Zhihu zhihu : myZhihu) {  
            FileReaderWriter.writeIntoFile(zhihu.writeString(),  
                    "D:/知乎_编辑推荐.txt", true);  
        }

実行すると、内容がわかります。最初はコンソール上で表示されていました。コンテンツはローカル txt ファイルに書き込まれています:

Zhihu クローラーに Java を最初から書き込み、キャプチャしたコンテンツをローカルに保存します (2)

一見したところ、問題はありませんが、よく見ると問題が見つかります。主に HTML タグが多すぎます。 これらのタグは出力中に処理できます。
まず、io ストリーム内の
を rn に置き換えてから、すべての 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 関数は正規表現を使用できるため、最後にすべての タグが削除されます。

上記は、キャプチャされたコンテンツをローカルに保存するためのゼロ基礎で Java Zhihu クローラーを作成する内容です (2) さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。