Crawler4j pandai merangkak halaman dengan hasil kode. Namun, Crawler4j tidak menentukan pengkodean untuk respons dan mem -parsing menjadi kode yang kacau, yang sangat menjengkelkan. Setelah menemukan rasa sakit, saya secara tidak sengaja menemukan bahwa posting blog yang sudah lama dapat menyelesaikan masalah dan memodifikasi pengkodean ContentData di halaman.Load (). terselesaikan.
Salinan kode adalah sebagai berikut:
public void load (httpentity entity) melempar Exception {
ContentType = null;
Header type = entity.getContentType ();
if (type! = null) {
contentType = type.getValue ();
}
ContentEncoding = null;
Header encoding = entity.getContentEncoding ();
if (encoding! = null) {
contentEncoding = encoding.getValue ();
}
Charset charset = contentType.getordefault (entitas) .getCharset ();
if (charset! = null) {
contentCharset = charset.displayName ();
}kalau tidak{
ContentCharset = "UTF-8";
}
// Kode Sumber
// contentData = entityutils.tobyteArray (entitas);
// Kode yang dimodifikasi
contentData = entityutils.tostring (entitas, charset.forname ("gbk")). getBytes ();
}