【问题标题】:Scraping wikipedia URLs through jsoup using keywords/macros使用关键字/宏通过 jsoup 抓取维基百科 URL
【发布时间】:2018-07-16 09:20:45
【问题描述】:
我不确定提出这个问题的最佳方法是什么,但这里是:
我有一个程序需要在网络上进行关键字搜索并查找相应的 URL,特别是 Wikipedia URL,以从中提取摘要信息。问题是 - 使用 jsoup,而不是提供整个 URL,我可以输入这样的信息 - http://en.wikipedia.org/wiki/keyword 其中关键字是用户输入,可以是咖啡、印度教、二战等任何东西。
另外我将如何检查相应的链接是否存在?
【问题讨论】:
标签:
java
web-scraping
jsoup
【解决方案1】:
如果我正确理解了这个问题,您希望根据关键字输入连接到维基百科页面,并获取可以应用 JSoup 的 JSoup 文档。
如果是这种情况,您可以创建一个接收关键字参数并从 Wikipedia 页面返回文档的方法:
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);
}