使用NodeJS+AngularJS+MongoDB实现一个Web数据扒取-分析-展示的系统

说到Web爬虫,Python占了半壁江山。但是Web页面不是Python的强项了,如果需要扒取Web数据,再Mashup出来一个自己的系统,全端JS是个不错的解决方案(其实不用Python扒数据是因为我只能熟练掌握Python的HelloWorld编写)。

那么开始做了。

00.要做一只麻雀

想做一个五脏俱全的系统先设计一下结构吧。思路是要扒数据先要配置怎么扒,然后去把扒来的数据处理成想要的东西,再然后存起来慢慢蹂躏。来张UML活动图压压惊。数据CRUD和如何展现不在设计图中,这部分打算做一个类似于数据库可视化工具的东西,可配置好操作的Web页面。

01.来一桶万金油

JS函数也是对象,而且惊讶的发现MongoDB也可以存Function,这让我觉得把所有的逻辑抽象成配置是有可能实现的。设想一下,数据分析的逻辑如果存到数据库里,执行的时候一把抓出来,call或者apply一下,结果就出来了,岂不是很酷炫?然而鄙人对JS才疏学浅,只是设想,至于怎么做,慢慢来吧。

10.先夯地基

核心是数据,数据的灵活存储和展示是基础。见过的框架都是把ORM不是写在xml里就是写在代码里,但是如果存到DB里面会怎么样?如果存到DB作为元数据,对于不同的需求完全可以加一条元数据就OK,这个元数据标识这个数据结构的组成,展现方式,可在数据集上进行的操作等等,理论上可以满足任何CRUD的需求,可以实现无后端页面,新来一个需求,配一个元数据就好了。这部分打算先做,目前已经封好了一些数据接口,等做出这一部分再总结一下吧,到时候也敢把git地址放出来了。对于NodeJS实现无后端有志同道合的工程师欢迎来一起讨论,持续更新ing

时间: 2024-10-14 19:11:28

使用NodeJS+AngularJS+MongoDB实现一个Web数据扒取-分析-展示的系统的相关文章

一个Web页面的问题分析

一个Web页面的问题分析 几个月之前我接到一个新的开发任务,要在一个旧的Web页面上面增添一些新的功能.在开发的过程中发现旧的代码中有很多常见的不合适的写法,结合这些问题,如何写出更好的,更规范的,更可维护的代码,就是这篇文章要阐述的内容. 首先我查看了该Web页面的HTML代码,发现了一些典型的问题: HTML页面中包含了很多Javascript和CSS代码 HTML页面中引用了大量的外部Javascript文件和CSS文件 接下来就这些问题,我们逐个讨论一下: HTML页面中包含了很多Jav

海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

概述数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码"就可以生成API,让API开发从未有过如此便捷!同时支持自定义API查询SQL功能,对您的个性化复杂查询逻辑支持照样不在话下. DataWorks数据服务提供HTTP API服务,采用Serverless架构,您只需关注API本身的查询逻辑,无需关心运行环境等基础设施,零运维成本. Dat

教育行业漏洞报告平台(Beta)数据爬取分析

解决问题 对教育漏洞提交平台的漏洞相关数据进行分析. 内容与要求 爬取网站提交的漏洞的相关信息,对每年漏洞数量,漏洞类型变化,漏洞类型比例,提交漏洞排名,存在漏洞数最多等方面进行统计分析,并可视化 使用工具 Requests 用于爬取页面 BeautifulSoup用于页面分析 Pandas用于数据分析 Time 用于爬取时进度条显示进度 tqdm用于爬取时进度条显示进度 matplotlib用于数据可视化,绘制统计图 wordcloud 用于数据可视化,绘制云图 爬取数据 网站分析 1.网站为

nodeJS+bootstarp+mongodb整一个TODO小例子

又是一个简单的小玩意儿, 不过有个大玩意儿,就是nosql的mongodb(文件大小:130M),  你要下载一个mongdodb, 去官方网站下载 安装以后在mongodb的命令行目录下执行 mongod --dbpath=c:\mongodbInfo\ --port 27017 这个命令会在C盘新建一个叫做mongodInfo的目录用来保存mongodb的数据; nodeJS要安装mongodb的依赖库, 通过npm进行安装 npm install mongodb mongodb的API可以

python网页数据抓取全纪录

在本文中,我将会为你展示一个基于新的异步库(aiohttp)的请求的代替品.我使用它写了一些速度的确很快的小数据抓取器,下面我将会为你演示是如何做到的.codego.net中介绍的方法如此多样的原因在于,数据"抓取"实际上包括很多问题:你不需要使用相同的工具从成千上万的页面中抓取数据,同时使一些Web工作流自动化(例如填一些表单然后取回数据). asyncio的基本概念 asyncio是在python3.4中被引进的异步IO库.你也可以通过python3.3的pypi来安装它.它相当的

python爬虫数据抓取

概要:利用python进行web数据抓取简单方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返回的内容. 一.第一种方法通常用来获取静态页面内容,比如豆瓣电影内容分类下动画对应的链接: http://www.douban.com/tag/%E5%8A%A8%E7%94%BB/?focus=movie     纪录片对应的链接: http://www.douban.com/tag/%E7%

nodejs + jquery Mobile构建一个简单的移动web (客户端)

前面展示了使用nodejs技术和jqm来搭建一个简单的支持CRUD操作应用的服务端部分(参见:nodejs + jquery Mobile构建一个简单的移动web(服务端) ),服务端采用nodejs技术实现,使用了mongodb数据库和轻量级web开发框架expressJS, 路由使用restful风格,所以你也可以使用restify来开发. 客户端的实现主要通过ajax调用实现.使用jade模板引擎. 客户端主要包含两个文件:layout.jade和index.jade 1. layout.

使用nodejs+express+mongodb开发web的例子

介绍:简单的介绍下nodejs+express+mongodb这三者. nodejs:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,实际是由c++开发是服务器语言. express:是nodejs的一种web框架,node有很多的开源框架,express是一个大神开发的(这尊神已经移驾到go语言的开发去了).express可以让你更方便的操作node(因为直接用nodejs写web比较麻烦,nodejs是事件驱动的,所以有很多异步回调,写多了就看着晕...) mon

nodejs使用mongodb做数据持久化

前段时间,写了一篇博客,讲解了在Mac下使用brew安装mongodb,这篇文章可以看做是续篇,使用nodejs操作mongodb,并封装一些有用的方法. nodejs操作mongodb,首先要使用npm安装操作mongodb数据库的包,有两个选择 mongoose 和 mongodb,由于mongodb的使用方式更接近mongodb原生的语法,所以这里我们使用mongodb模块,操作数据库. 在Mac下使用brew安装mongodb这篇文章中,已经讲解了mongodb数据库的性质和安装,也介绍