在Java中使用Jsoup时出现异常输出
在尝试使用Jsoup从Wikipedia提取文本时,我得到了以下输出: 我没有足够的代表来发布图片,因为我是这个网站的新手,但基本上是这样的:在Java中使用Jsoup时出现异常输出,java,jsoup,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(h
[]{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);
}
它似乎获取了所有信息,但格式错误
我感谢你给予的任何帮助
提前谢谢这里有一些建议给你。获取普通网页时,不需要像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,虽然它功能强大,但是一个好的开始应该是尝试通用的文档操作函数,例如,doc.getElementsByTag()
然而,在我的本地机器上,我成功地获取了文档并使用
getURL()
函数对其进行了解析 Jsoup不会返回图片而是文本,当然你可以发布更多返回的文本。当我复制并粘贴到这里时,它会变成完全不同的东西。这就是为什么我试图上传一张输出的图片,请上传返回的图片text@Hovercraft,他的getUrl打开一个目录并获取页面,半小时前他问过。@Sage:好的,谢谢。为此,我通常使用Jsoup.connect(…).get()
。