技术文章:Java数据采集-5.获取CSDN个人博客列表(翻页-1)
优采云 发布时间: 2022-10-06 02:12技术文章:Java数据采集-5.获取CSDN个人博客列表(翻页-1)
继上篇文章之后,本博客将针对第一种翻页加载数据的方法编写实际代码演示。因为第三讲详细介绍了如何解析各个节点,后续教程将不再用截图详细讲解解析过程。大家可以根据我使用的CSS规则自行对比分析。
事不宜迟,让我们开始编码。
String url = "http://blog.csdn.net/TMaskBoy/article/list/1";
Document document = Jsoup.connect(url)
.userAgent("ozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36")
.get();
Elements items = document.select("#article_list > div");
System.out.println(items.size());
复制
获取id=article_list下的div子标签注意">"的用法,如果有id优先选择id作为选择器
//获取样例 69条 共7页
String page = document.select("#papelist > span").text();
//使用正则表达式匹配总页数
Pattern pattern = Pattern.compile("(.*?)条 共(.*?)页");
Matcher matcher = pattern.matcher(page);
int total_count = 0, total_page_number = 0;
if(matcher.find()){
total_count = Integer.parseInt(matcher.group(1));
total_page_number = Integer.parseInt(matcher.group(2));
}else{
<p>
System.out.println("未获取到总页数!");
System.exit(-1);
}
System.out.println(page);</p>
复制
以上代码使用正则表达式获取总页数和总记录数,也可以使用String的字符串搜索和截取来选择。PS:我只是使用正则表达式只是为了假装......
<p>String url = "http://blog.csdn.net/TMaskBoy/article/list/";
for(int current_page = 1; current_page