Java下载网页源html的最佳方式
我在写一个小爬虫。下载网页源html的最佳方式是什么?我目前正在使用下面的一小段代码,但有时结果只是页面源代码的一半!!!我不知道有什么问题。有人建议我应该使用Jsoup,但使用。收到如果页面太长,Jsoup中的html()函数也会返回一半的源代码。因为我正在编写一个爬虫程序,所以该方法支持unicode(UTF-8)非常重要,效率也非常重要。我想知道最好的现代方法,所以我问你们,因为我是Java新手。谢谢
代码:
public static String downloadPage(String url)
{
try
{
URL pageURL = new URL(url);
StringBuilder text = new StringBuilder();
Scanner scanner = new Scanner(pageURL.openStream(), "utf-8");
try {
while (scanner.hasNextLine()){
text.append(scanner.nextLine() + NL);
}
}
finally{
scanner.close();
}
return text.toString();
}
catch(Exception ex)
{
return null;
}
}
# 1 楼答案
就个人而言,我对Apache HTTP库http://hc.apache.org/httpcomponents-client-ga/非常满意。如果你在写一个网络爬虫,我也是,你可能会非常感激它对cookies和客户端共享等东西的控制
# 2 楼答案
我使用commons-io
String html = IOUtils.toString(url.openStream(), "utf-8");