我在这里有一个严重的担忧。我已经通过堆栈溢出和许多其他站点进行了搜索。他们在每个地方都提供相同的解决方案,我已经尝试了所有这些,但我无法解决这个问题。
我有以下代码,
Document doc = Jsoup.connect(url).timeout(30000).get();
这里 m 使用 Jsoup 库,我得到的结果不等于我们可以看到的实际页面源,但右键单击页面 -> 页面源。我使用上述代码行得到的结果中缺少许多部分。在谷歌上搜索了一些网站后,我看到了这个方法,
URL url = new URL(webPage);
URLConnection urlConnection = url.openConnection();
urlConnection.setConnectTimeout(10000);
urlConnection.setReadTimeout(10000);
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
int numCharsRead;
char[] charArray = new char[1024];
StringBuffer sb = new StringBuffer();
while ((numCharsRead = isr.read(charArray)) > 0) {
sb.append(charArray, 0, numCharsRead);
}
String result = sb.toString();
System.out.println(result);
但没有运气。当我在互联网上搜索这个问题时,我看到许多网站说我必须在下载网页的页面源代码时设置网页的正确 charSet 和编码类型。但是我将如何动态地从我的代码中了解这些东西?java中是否有任何类。我也经历了一点 crawler4j,但对我来说并没有多大作用。请帮助各位。我在这个问题上坚持了一个多月。我已经尽我所能。所以最后的希望寄托在一直提供帮助的堆栈溢出之神身上!