Crawler4J ist gut in der Crawling -Seiten mit codierten Ergebnissen. Crawler4J gibt jedoch die Codierung für die Antwort jedoch nicht an und analysiert sie zu verstümmelten Code, was sehr ärgerlich ist. Nachdem ich den Schmerz gefunden hatte, stellte ich versehentlich fest, dass ein langjähriger Blog-Beitrag das Problem lösen und die ContentData-Codierung in Seite ändern kann. gelöst.
Die Codekopie lautet wie folgt:
public void last (httpentity entity) löst eine Ausnahme {aus {
contentType = null;
Header type = entity.getContentType ();
if (type! = null) {
contentType = type.getValue ();
}
contentencoding = null;
Header coding = entity.getContentCoding ();
if (codieren! = null) {
contentencoding = coding.getValue ();
}
CharSet charSet = contentType.getOrDefault (Entity) .getCharSet ();
if (charset! = null) {
contentCharSet = charset.displayName ();
}anders{
contentCharset = "utf-8";
}
// Quellcode
// contentData = entityutils.tobytearray (Entity);
// Modifizierter Code
contentData = entityutils.toString (Entity, charset.forname ("gbk")). getBytes ();
}