目前,我使用JSOUP连接器获取网页的页面标题。 但是如果网站是使用angularJs构建的,那么JSOUP连接器无法获取标题,因为页面源中没有标题。
try {
Document doc=Jsoup.connect("https://support.microsoft.com/en-us/kb/948496").get();
System.out.println(doc.title());
} catch (IOException e) {
e.printStackTrace();
}
如果使用java使用angularJs构建页面的标题?
答案 0 :(得分:0)
所以,我尝试使用jsoup解析angularjs.org并且它工作正常:
try {
Document doc = Jsoup.connect("https://angularjs.org/").get();
Elements header = doc.select("title");
System.out.println(header.html());
} catch (Exception e) {
e.printStackTrace();
}
给了我" AngularJS - 超级英雄JavaScript MVW框架"
请您提供一个不起作用的网站示例?
编辑:在your particular case中,标题正在动态填充。所以,问题不在于如何解析有角度的网站标题",而是"如何获得动态创建的标题"。我认为jsoup根本不做。它只是让您访问网页源的dom元素。你想要做的是执行javascript并获得结果。我会看一些测试实用程序(如Selenium),它们使用实际的浏览器呈现页面,然后获取最终dom树的元素。