Heim > Java > javaLernprogramm > Hauptteil

Schreiben Sie Java von Grund auf und speichern Sie den gecrawlten Inhalt lokal (2)

黄舟
Freigeben: 2016-12-24 11:50:45
Original
1691 Leute haben es durchsucht

Wir kapseln diese beiden Funktionen zur späteren Verwendung in eine FileReaderWriter.java-Datei.
Dann kehren wir zum Zhihu-Crawler zurück.
Wir müssen der Zhihu-Kapselungsklasse von Zhihu eine Funktion hinzufügen, um den Schriftsatz beim Schreiben in lokal zu formatieren.

Der Code lautet wie folgt:

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;  
}
Nach dem Login kopieren

OK, das ist es. Als nächstes ändern Sie System.out.println in der Hauptmethode in

Der Code lautet wie folgt:

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

Ausführen, Sie können sehen, dass der ursprünglich in der Konsole angezeigte Inhalt in die lokale TXT-Datei geschrieben wurde:

Schreiben Sie Java von Grund auf und speichern Sie den gecrawlten Inhalt lokal (2)

Im Allgemeinen gibt es auf den ersten Blick kein Problem. Bei genauerem Hinsehen finde ich ein Problem: Es gibt zu viele HTML-Tags, hauptsächlich .
Wir können diese Tags während der Ausgabe verarbeiten.
Ersetzen Sie zuerst
im io-Stream durch rn und löschen Sie dann alle HTML-Tags, damit es viel klarer aussieht.

Der Code lautet wie folgt:

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;  
}
Nach dem Login kopieren

Die Funktion „replaceAll“ kann hier reguläre Ausdrücke verwenden, sodass alle -Tags am Ende gelöscht werden.

Das Obige ist der Inhalt des Java Zhihu-Crawlers ohne Grundlage zum lokalen Speichern des erfassten Inhalts (2). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php). .php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!