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; }
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); }
Ausführen, Sie können sehen, dass der ursprünglich in der Konsole angezeigte Inhalt in die lokale TXT-Datei geschrieben wurde:
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; }
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)!