0

尝试使用 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);


}

它似乎获得了所有信息,但格式错误!

感谢您提前提供的任何帮助

4

1 回答 1

0

这里有一些建议给你。在获取一般网页时,不需要像cookie一样设置 HTTP 标头的字段,用户代理只需调用:

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().

但是,在我的本地机器上,我成功地获取了文档并使用您的getURL()函数对其进行了解析!

于 2013-10-13T03:23:50.773 回答