栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

弘易信泰,企业级SAAS数据采集技术分析

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

弘易信泰,企业级SAAS数据采集技术分析

前言

北京弘易信泰科技有限公司自主研发的SaaS软件-行政易,是一款应用大数据、云计算和人工智能技术打造的企业级SAAS数据分析软件,可实现对互联网数据的采集、存储、计算分析以及可视化,帮助政企用户提升行政办公效率、辅助领导决策、构建网络安全。主要功能包括:背景调查、舆情管理、智能写作、信息推荐、行政助手。

本文结合实际,对数据采集技术应用做出讨论,以供行业内参考。

网络数据采集-爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOFA社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。最常见的爬虫便是我们经常使用的搜索引擎,如百度,360搜索等。此类爬虫统称为通用型爬虫,对于所有的网页进行无条件采集。

采集策略

在通用网络爬虫中,虽然爬取的顺序并不是那么重要,但是在其他很多爬虫中,比如聚焦网络爬虫中,爬取的顺序非常重要,而爬取的顺序,一般由爬行策略决定。爬行策略主要有深度优先爬行策略、广度优先爬行策略、大站优先策略、反链策略、其他爬行策略等。主要的目的就是为了减少重复或无效的网络请求、减少或分割繁琐的请求流程。

数据采集工具

Flume :Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。

Fluentd:另一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。Treasure Data, Inc 对该产品提供支持和维护。

Htmlunit:是一款模拟浏览抓取页面内容的java框架,具有js解析引擎(rhino),可以解析页面的js脚本,得到完整的页面内容,特殊适合于非完整页面的站点抓取。

url去重

1.布隆过滤器:

它的优点是空间效率和查询时间都远远超过一般的算法,布隆过滤器存储空间和插入 / 查询时间都是常数 O(k) 。另外, 散列函数相互之间没有关系,方便由硬件并行实现。布隆过滤器不需要存储元素本身,在某些对保密要求非常严格的场合有优势。

2.算法总结:

创建一个布隆过滤器,开辟一个足够的位空间(二进制向量);

设计一些种子数,用来产生一系列不同的映射函数(哈希函数);

使用一系列的哈希函数对此URL中的每一个元素(字符)进行计算,产生一系列的随机数,也就是一系列的信息指纹;

将一系列的信息指纹在布隆过滤器中的相应位,置为1。

爬虫系统优化

无论是何种方向,我们最希望的就是以更少的代价获取更大的收益。决定网络爬虫性能的指标有很多,在不考虑特殊情况及阀值情况下网络请求更快,解析效率更快,数据持久化更快等,那么爬虫会更快,这个是必然的,那么网络爬虫该如何优化,从以下几个方面进行分析。

硬件优化,机器够多,配置够高,集群够强大,爬虫效率必然高;

部署优化,一台机器允许开启多个爬虫,可以使用脚本文件进行批量运行;

网络优化,当大规模抓取每次都要做DNS解析时,浪费的时间是非常大的。所以如果能在本地做DNS缓存,每次系统都读本地DNS的话,这个时间消耗大大降低。

请求优化,当连接超过某个阀值,可判定此次请求失败。此外,合适的并发量可以将资源使用到极致,可以按照实际情况调节。

减少重复或无效的网络请求、减少或分割繁琐的请求流程。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280269.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号