web爬虫系列(四)– 详说科技简报

时间:2019-09-09 08:00:01 来源:搜狐网 当前位置:拓赢疯子哥 > 简历 > 手机阅读

起源

先说说为什么叫这个名字,在微信小程序刚出来的时候,我在原公司部门做了一个简单的分享,分享当然必须得有demo支撑啊,所以做了一个列表页、我的、详情页总共四页的图文分享demo,配上音乐,起名达耳闻。去年下半年开始做公众号,之前对科技早报很感兴趣,市面上也有很多现成的,但是后来发现很多要么不全面要么不及时,感觉还不如自己做一个。时隔两年又拾起了达耳闻这个名字改名哒耳文,与此同时注册了daervin.com的域名(伟大的生物学家达尔文叫Darwin)。感谢可爱漂亮的小衍衍制作的logo。

当年的PPT


logo.psd

架构

数据存储
用的MySQL,缓存redis(目前请求量没有redis可以,但是为了接口响应速度)。

核心服务
总共两个服务:爬虫服务和对外暴露数据服务,爬虫服务采用Java语言开发,用到了springmvc、mybatis、webmagic框架。服务启动后由爬虫任务入口调度起多个爬虫任务(每个网站对应一个任务),任务间隔时间循环执行。为了解决爬取的数据存在重复的问题,所以在每个任务爬取完成之后做一次数据过滤,过滤又过滤器完成。过滤器主要做这样两个事情:字段预检(包括标题是否合法,有无达到预定字数;时间是否合法;详情是否合法等)、标题是否与库中已有资讯重复(通过IK将标题分词后做一次对比,字符串包含率达到一定比率则抛弃)。完成以上所有数据才落地入库。Java服务还提供了内部管理数据接口(目前没什么卵用)。对外暴露数据服务用PHP开发,用到了thinkphp框架,主要是将爬虫服务得到的数据以restful接口形式吐出来。

对客端
h5列表页,用layui+ajax简单生成,前期主要是填补没有原文的空白(可点击阅读原文查看)。微信小程序,是如上数据的主要体现形式,也是主要推广的客户端,目的是为了除了早报以为的科技资讯能够实时展示给小伙伴们。微信公众号,这个也可以叫人肉早报,与市面上的已有的大部分科技早报没什么区别,目的只有一个,告诉你今天是工作日(我工作日上班出门前必做的一件事)。

装备

上面基本详细的介绍了整个系统的架构,所有的系统必须运行在一个机器上吧,所以接下来介绍一下我的装备。选择了腾讯云(为什么不是阿里云?因为当时赶上腾讯云打折),服务器选用1C 2G 1Mbps 50GB硬盘 包年包月计费 共两年,域名选用.com 共三年 免费备案,证书选用TrustAsia TLS RSA CA(1年) 免费 共一年,域名解析用腾讯云解析免费版。这个装备总共花了300多。待到小康时又是续费年!

乱弹琴

总共就这么多,全是干货!其实就像我是产品经理,已经帮你画好了PRD,喜欢动手的同学可以跟着这个思路自己玩一遍,不喜欢的当我没说。简单总结一下:目前存在的主要问题就是运营(非天赋必须多学习),内容上还需要优化去重过滤器(你看有时候还是会有重复的资讯),最后一个就是创新了,做一个喜欢的东西,老写业务太无聊,这个也算是集产品经理、前后端开发于一人的产品了,今年再做一个新的。


为什么不直接用java服务提供对外服务?其实在项目稳定后一套代码绝对够了,但是在初期java提供的爬虫服务随时都在优化重启发布,或者干脆连接远程在上面改代码,这样会对小程序有影响,php作为单独的服务可以解决这个问题(当然还有其它替代方案)。


最后喜欢科技简报的小伙伴帮忙分享一下小程序,需要交流讨论的可以加我微信(公众号有联系方式,没留言功能很丧啊)。


全文概览

上一篇持升科技产品巡礼02——科技治超-公路超限检测系统解决方案

下一篇精挑三款黑科技阅读神器,从此不再付费!

相关文章:

简历本月排行

简历精选