当我尝试使用elements.select();指令去读取网站URL的制定信息时可以读取一部分信息,但是有一部分信息始终无法被读取。
这是我写的java代码
Document document = Jsoup.connect(u).get();
String title = document.title();
System.out.println("title is" + title);
String content = document.text();
System.out.println("content is"+ content);
Elements texts = document.getElementsByClass("Container");
System.out.println(texts);System.out.println();
// Elements a = document.select(".m-tab").select("tr");
// Elements a = document.select("m-tab").select("tr");
Elements a = document.select("body").select(".Container").select("#headerTr");
System.out.println(a);
rows = a.size()-2;
System.out.println(rows);
下面是网站的前端代码
我尝试读取网站中id为“match_list”的部分代码时总是没有返回值。
这是我运行代代码的终端显示
针对这个问题,首先我们要确认这个网页的HTML是服务端渲染还是客户端渲染。
服务端渲染的确认方式:鼠标右键查看源代码,如果发现存在需要的HTML片段,则说明是服务端渲染,可以使用jsoup
客户端渲染的确认方式:鼠标右键查看源代码,如果未发现存在需要的HTML片段,则说明是客户端渲染,可以使用htmlunit进行爬虫解析。一般这种会在控制台中会出现ajax请求
看你的测试,可能属于客户端渲染,因此用jsoup无法获得结果。可以使用htmlunit或抓取ajax请求
也可以找我开发这个请求的功能哦