我在尝试使用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);
}
它似乎以错误的格式获取所有信息!
我感谢任何帮助 提前致谢
答案 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()
函数解析它!