点击空白处退出提示
DataX智能爬虫
我要开发同款作品详情
同时对代码的关键功能进行了抽象整理,便于迁徙新平台,获取新平台的数据。
负责全栈开发:
开发针对知乎平台的爬虫,不采用第三方库,而是针对业务进行适应性爬虫的开发。
使用java语言,配以springboot框架,整合spring data jpa进行数据存储,利用Selenium、JSoup工具库实现爬虫核心功能。
【数据初步获取阶段】
利用了java多线程机制。将网站url集合,按照设定的多线程数量,进行reform,再通过CountDownLatch(一个java多线程库),开启多条线程并行遍历,使得原本串行遍历下载的逻辑,得以在多条线程中并行执行,大大减少下载所需的时间。
同时对数据的存储变量使用线程安全类型,且IO存储方法加上syncronized关键字,保证多线程下数据的线程安全。
【数据存储阶段】
针对知乎的关键字搜索页、提问页、回答页、用户信息页创建jpa entity模型对象,同时在service层提供数据模型对象的完整性检查机制,以确保录入数据库中的数据的完整性。
【自动爬取阶段】
编写了最上层的调用逻辑,自动异常处理,拥有按计划自动爬取、任务进度汇报、异常自动重爬功能。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论