当文章目录被分页显示时,此时我们我们需要所有的CSDN文章目录时候:
可以分页之后我们需要访问pageNow后才能加载文件目录。
同时我们需要爬取我们的文章目录的页数,可以从源码看出来
我们需要通过这个div的ID来获取第一个span标签的内容,然后使用正则表达式来过滤出来我们需要的页数。
totalPageStr = body.getElementById("papelist").select("span:eq(0)").text(); String regex = ".+共(\\d+)页"; totalPageStr = totalPageStr.replaceAll(regex, "$1"); totalPage = Integer.parseInt(totalPageStr); 此时我们完全爬取到自己的页数,后面就是通过URL来实现抓取自己的文章目录。 URL+"/article/list/"+pageNow源码查找自己文章div
可以找到自己文章的所在的div,下面要做的就是保存自己文章信息:
List<Article> resultList=new ArrayList<Article>(); //div Element articleListDiv=body.getElementById("article_list"); Elements articleList=articleListDiv.getElementsByClass("list_item"); for(Element article:articleList){ Article art=new Article(); Element linkNode=(article.select("div h1 a")).get(0); Element desptionNode=(article.getElementsByClass("article_description")).get(0); Element articleManageNode = (article.getElementsByClass("article_manage")).get(0); //封装类 art.setAddress(linkNode.attr("href")); art.setTitle(linkNode.text()); art.setDesption(desptionNode.text()); art.setTime(articleManageNode.select("span:eq(0").text()); resultList.add(art); 然后输出即可