我有一个严重的问题。我已经在Stack Overflow和许多其他网站上搜索了很久。无论哪里都给出了相同的解决方案,但我尝试了所有这些方法,仍然无法解决此问题。
我有以下代码:
Document doc = Jsoup.connect(url).timeout(30000).get();
我使用Jsoup库,但是得到的结果与我们可以看到的页面源代码不相等。如果右键单击页面- >页面源,则会缺少许多部分。使用上述代码行得到的结果中缺少了许多内容。
在Google上搜索了一些网站后,我发现了这种方法:
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,但它对我来说并没有太大帮助。请帮忙各位。我已经被这个问题困扰了一个多月,尝试了我所能想到的所有方法。所以最后的希望寄托在stack overflow的神明身上,他们总是有所帮助!!