在Java中使用Jsoup时的异常输出

时间:2013-10-12 20:22:48

标签: java jsoup

我在尝试使用Jsoup从Wikipedia中提取文本时得到此输出:

我没有足够的代表来发布图片,因为我是这个网站的新手,但它基本上是这样的:

[]{k[]q[]f[]d[]d  etc..

以下是我的代码的一部分:

public static void scrapeTopic(String url)

{
    String html = getUrl("http://www.wikipedia.org/" + url);



    Document doc = Jsoup.parse(html);

    String contentText = doc.select("*").first().text();

    System.out.println(contentText);


}

它似乎以错误的格式获取所有信息!

我感谢任何帮助 提前致谢

1 个答案:

答案 0 :(得分:0)

以下是您的一些建议。在获取一般网页时,不需要将HTTP标题的字段设置为 cookie user-agent 只需调用:

Document doc = Jsoup.connect("givenURL").get();

此功能使用GET请求读取网页。当您使用*选择元素时,它将返回任何元素,即文档的所有元素。因此,调用doc.select("*").first()将返回#root元素。尝试打印它以查看:

System.out.println(doc.select("*").first().tagName()); // #root
System.out.println(doc.select("*").first());  // will print the whole document, 
System.out.println(doc); //print the whole document, the above action is pointless
System.out.println(doc.select("*").first()==doc); 
               // check whither they are equal, and it will print TRUE

我假设你只是在玩这个API,虽然selector功能强大,但是一个好的开始应该是尝试一般的文档操作功能,例如doc.getElementsByTag()

然而,在我的本地机器上,我成功获取了Document并使用你的getURL()函数解析它!