舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛

国内大大小小专注舆情系统开发的公司上百家,对应做舆情,如何结构化采集的数据是一件很重要的事情,如果不能很好的结构化web页面的数据,后续对数据的情感分析,关键词分析很难进行。一般的公司对web页面进行格式化的时候,大多数是自动解析+模板配置进行;
自动解析:分为傻瓜式的解析与加入神经网络功能的智能化解析两种,前者是通过找出各大主流web内容页面特征,对web页面节点进行遍历,获取一个所谓的标题,正文的最优解;而后者,通过机器学习进行,典型的就是各家搜索公司,这里我推荐大家了解下diffbot这家公司关于diffbot的报道,该公司站点为公司主页
模板配置:什么是模板,拿爬虫框架 webmagic来说,爬虫程序并不知道如何将下载下来的web html数据格式化,这时候我们就需要用到xpath,css路径来告诉程序,页面中那个节点是有用数据,需要取出来。目前通用的舆情公司做法是找专门的人去配置模板,并且为方便配置,专门研发对应的系统方便配置。
那今天我该讲什么?对,我讲的就是薅资本主义的羊毛,我来手把手的教你作为一个舆情爬虫开发者,如何薅diffbot公司的羊毛
先看看diffbot对web页面格式化得展示:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛

很高大上对吧,使用神经网络训练出来的,虽然不能100%的将页面内容格式化,但应付国内国外的新闻站点是100%没问题得,当然,这个页面是在通讯上是没有加密的,大家可以放心使用。接着,我就开始展示我所做的工作了。
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛

这次使用的就是我开发的这几个接口,对diffbot智能解析出的数据的逆向。首先介绍第一个接口:
接口一:通过 starttxt,endtxt 来逆向出该内容的节点,如图:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
这里,我输入了 “starttxt”: “新华社北京4月2日电”,”endtxt”: “2018年04月03日 01 版”,我们来看看这个页面的内容这里写链接内容
大家可以看出,这篇文字开始内容为:新华社北京4月2日电,结束内容大概为:2018年04月03日 01 版。我们再看看我这个接口输出内容:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
如图,页面中输出了一个 path:#root:0|html:0|body:0|div:4|div:0|div:0 ,这个path路径非xpath也非css路径,而是自定义的一个html骨架路径。然后对输出进行验证:
接口二:通过选择的path,获得对应节点下的text内容
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛

解析结果如下:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
因此,我们通过这两个接口起到了一个取代人工配置模板的功能,可以通过程序,对新闻站点进行模板的生成,去薅diffbot的羊毛。毕竟,开发出一个类似于diffbot基于视觉效果解析web数据的人工智能程序不是谁都能做的。
剩下的,就是完善其他的事情,比如发布时间节点的获取,采用上述方式是行不通的,因此,我专门开发了一个程序对时间节点进行抽取:

接口三:通过选择的txt,获得最优path解,适合提取发布时间的路径
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
pubtimetxt只要是页面中的发布时间即可,格式写成 类似于 2018年04月03日04:36输入就可以匹配到对应的时间一致的节点,看输出数据:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
验证一下这个节点的内容:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
到这里基本就可以完成对新闻之类的数据模板的完工了,标题,发布时间,内容,搞定!再看看对有节点重复的数据的处理:
舆情系统站点采集之优雅的采集系统模板配置——薅资本主义大牛的羊毛
可以看出有多个节点匹配,输出的内容都是经过过滤,选择了deep值最大的(deep指的是节点深度),因此,理论上讲,你可以在输出结果后,增加一个算法,采纳内容匹配度最高的一个节点作为最优解。
到这里就完成了所有的介绍。那么,从哪里可以买到呢,那有需要的可以留言