使用关键字/宏通过jsoup刮取维基百科网址

时间:2018-02-06 10:33:39

标签: java web-scraping jsoup

我不确定构建这个问题的最佳方法是什么,但是这里是:

我有一个程序需要在网上进行关键字搜索,并查找相应的网址,特别是维基百科网址,以便从中提取摘要信息。问题是 - 使用jsoup而不是给出整个URL我可以输入这样的信息 - http://en.wikipedia.org/wiki/keyword其中关键字是用户输入,可以是咖啡,印度教,第二次世界大战等等。

另外,我如何检查相应的链接是否存在?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,你想根据关键字输入连接维基百科页面,并获得一个可以应用JSoup的JSoup文档。

如果是这种情况,您可以创建一个接收关键字参数并从维基百科页面返回文档的方法:

Document getWikiDocumentByKeyword(String keyword) throws Exception {
    Document doc = Jsoup.connect("https://en.wikipedia.org/wiki/" + keyword).get();

    return doc;
}

这将连接到给定关键字的页面,并返回您可以随意执行的文档。

要解决第二个问题,如果由于某种原因(即页面不存在)无法连接到页面,此方法将抛出异常。

然后,您需要以某种方式调用该方法来处理该异常:

try{
    Document document = getWikiDocumentByKeyword("Coffee");
} catch(Exception ex){
    // Trouble connecting, handle the exception however you want.
    System.out.println(ex);
}