博客搬家系列(二)-爬取CSDN博客

本文是博客搬家系列的第二部分,介绍如何使用Java爬取CSDN博客。通过分析URL规律,获取文章列表,并利用htmlunit和jsoup解析HTML获取文章详细信息。在抓取过程中,需要注意处理异常情况,如隐藏的首篇文章和图片下载时的Referrer问题。
摘要由CSDN通过智能技术生成

博客搬家系列(二)-爬取CSDN博客

一.前情回顾

 博客搬家系列(一)-简介:https://blog.csdn.net/rico_zhou/article/details/83619152

 博客搬家系列(三)-爬取博客园博客:https://blog.csdn.net/rico_zhou/article/details/83619525

 博客搬家系列(四)-爬取简书文章:https://blog.csdn.net/rico_zhou/article/details/83619538

 博客搬家系列(五)-爬取开源中国博客:https://blog.csdn.net/rico_zhou/article/details/83619561

 博客搬家系列(六)-爬取今日头条文章:https://blog.csdn.net/rico_zhou/article/details/83619564

 博客搬家系列(七)-本地WORD文档转HTML:https://blog.csdn.net/rico_zhou/article/details/83619573

 博客搬家系列(八)-总结:https://blog.csdn.net/rico_zhou/article/details/83619599

二.整体分析

创建java maven工程,先上一下项目代码截图

再上一张pom.xml图

爬取CSDN文章仅需要htmlunit和jsoup即可,当然完整项目是都需要的,htmlunit的简单使用请自行百度。

基本逻辑是这样,我们先找到CSDN网站每个用户文章列表的规律,然后获取目标条数的文章列表URL,再遍历每个url获取具体的文章内容,标题,类型,时间,以及图片转移等等

三.开干(获取文章URL集合)

首先打开一个博主的主页,我们注意到网址就是很简单的https://blog.csdn.net/ + userId

当我们点击下一页的时候,网址变了,变成了https://blog.csdn.net/rico_zhou/article/list/1   出现了1,当我们把最后的1改成2后发现果然可以到达第二页,规律出现,那么我们只要循环拼接url,每一个url都可以获取一些(20条左右)文章,这样就可以获取目标数了。但是也要注意页数过大出现的空白

页数计算:根据目标文章条数获取总共的页数,然后循环获取文章URL的方法即可

String pageNum = (blogMove.getMoveNum() - 1) / 20 + 1;

再来分析一下主页的源码,浏览器右击鼠标选择查看网页源代码,我们可以发现,此页的文章摘要信息均存在于网页源码中,这是个好兆头,意味着不需要添加啥cookie或者动态执行js等就能获取目标,再观察一下,即可发现文章信息都在class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值