文章采集系统(文章采集系统实现方案主要解决三个问题(聚合组合))
优采云 发布时间: 2021-10-17 19:04文章采集系统(文章采集系统实现方案主要解决三个问题(聚合组合))
文章采集系统实现方案主要解决三个问题:
一、聚合数据源及处理;
二、采集过程分析;
三、维度权重化更新(聚合组合)实现思路:
一、聚合数据源及处理。聚合数据源主要定义两个基本类,第一个是采集网站数据,为scrapy中的get请求,第二个是文本网站模板类,为post请求。处理环节主要是归档处理。归档主要有两种方法,一是用python自带的pandas,然后根据http请求来获取,或者是通过存储系统,如db来存储。二是使用scrapy自带的beautifulsoup库,然后对文本数据进行beautifulsoup的处理。
二、采集过程分析采集流程一般分为:数据采集、数据存储、数据分析三个过程,文章采集流程一般有4个阶段,ps阶段数据转化、每日传文章经过每个数据源处理,每个数据源处理完成后进入到循环滚动页面,以dataframe的形式传给spider进行分析、处理。
三、维度权重化更新(聚合组合)
1、网页整体维度权重化组合进行更新,生成指标体系,指标体系中,权重设置各个属性,时间、点击量、转发量、阅读量、文章发布日期等。指标属性采用字典格式进行字段定义。
2、根据指标体系,进行网页内容爬取、再将爬取结果存储,最后对每篇文章进行监控。
3、爬取结果存储利用mysql数据库进行存储,有条件的可以采用elasticsearch或solr,大型网站应用有采用mongodb,小型网站一般采用sharding-jdbc或sharding-edm或httplib或sharding-edj这些都是聚合组合,包括但不限于《scrapy爬虫三部曲之聚合组合》:对于爬取数据维度:可设置为daily/time/minute/hour/second这几个主要时间维度;对于数据来源维度:可设置为“/”"?"等字符串前缀维度;对于爬取文章页数量,可设置为一次性、连续型、定时型三种。
对于我们开发常用的实现方式,主要有基于python对scrapy进行封装或者自己写爬虫程序对scrapy的封装;基于scrapy自带的框架提供的接口;模仿scrapy对于spider中爬取部分,实现一个简单的“爬虫平台”。
1、文章描述层直接生成指标框架download函数传入指标名和值对,在自定义回调函数内可以用到return方法,定义返回值,返回格式为window参数表示返回到page页面,
2、分析层可以直接通过一个小demo来体会工作流程。第一步就是读取网页网址,获取e001d92-xxxx-yy-zjz-hd077这张表格,e001d92是从头到尾,e001d92-xxxx-yy-zjz-hd077是经过分割,从左到右来获取,cmp标识从第几行第几列读取,pixel可以定义mode,当。