【发布时间】:2015-05-15 19:48:44
【问题描述】:
我必须用 Java 编写解析器(我的第一个 html 解析器就是这样)。目前我正在使用 jsoup 库,我认为它是解决我的问题的好方法。
主要目标是从 Google Scholar 中获取一些信息(h 指数、出版物数量、从事科学工作的年限)。我知道如何解析 10 个人的 html,如下所示:
for( Element element : htmlDoc.select("a[href*=/citations?user") ){
if( element.hasText() ) {
String findUrl = element.absUrl("href");
pagesToVisit.add(findUrl);
}
}
但我需要找到有关所要求大学的所有科学家的信息。怎么做?我正在考虑从按钮获取 url,这将引导我们获得接下来的 10 个结果,如下所示:
Elements elem = htmlDoc.getElementsByClass("gs_btnPR");
String nextUrl = elem.attr("onclick");
但我得到这样的网址:
citations?view_op\x3dsearch_authors\x26hl\x3dpl\x26oe\x3dLatin2\x26mauthors\x3dAGH+University+of+Science+and+Technology\x26after_author\x3dslQKAC78__8J\x26astart\x3d10
我必须翻译\x 标志并将该网站添加到我的“toVisit”网站?还是在 jsoup 库中或在其他库中可能是一个更好的主意?请告诉我!我没有任何其他想法,如何解析这样的东西......
【问题讨论】:
标签: java parsing web-crawler jsoup