大数据时代,许多企业的决策往往都是由“数据”决定的,那么这些数据来自哪里呢?众所周知,爬虫可以收集大量的数据,那么爬虫如何收集数据,如何得到大量的数据呢?
这些数据都是公开的吗?下面就请跟随神龙HTTP 一起去了解一下关于数据的一些问题。
第一,数据来自哪里?
1.公开数据
例如统计,工商管理,知识产权,银行证券等公共信息和数据。
2.爬虫爬取
利用爬行技术,进行网页爬行,或通过调用公开和非公开接口来获取数据。
3.用户数据
如百度、阿里、腾讯等公司,其平台拥有大量的用户群体,每天用户都会产生海量的原始数据。
此外,还包括PGC(专业生产内容)和UGC(用户生产内容)数据,如新闻、自媒体、微博、短片等。
4.数据交换
不同公司间进行数据交换,彼此进行数据补全。
5.第三方购买
市场上有很多产品化的数据库,包括商业类和学术类,如Bloomberg、CSMAR、Wind、知网等等,一般以公司的名义购买数据查询权限,比如咨询公司、高等院校、研究机构都会购买。
6.窃取数据
通过内鬼渠道获取其他公司的用户数据,或者利用黑客等非常规的手段,定制入侵获取数据,或者在地下黑市购买其他公司的数据。并且,此处内鬼泄漏其实远多于黑客窃取。
第二、爬虫采集数据如何进行
首先,分析需求。
先要估计一下这个网站的数据量,然后再去确定收集什么数据,是否有必要去收集目标网站的所有数据。因为收集的数据量越大,花费的时间就越多,所需的资源就越多,给目标网站带来的压力就越大。数据收集工程师不能为了收集数据而给目标网站带来太大的压力,原则是尽量少收集数据,满足自己的需求,避免全站收集。
然后,编写代码。
因为要收集的网站数据很多,所以要求编写的代码稳定运行一周甚至一个月以上,所以代码应该足够强壮和强大。一般要求做到网站不变更模板,程序能一直执行下来。下面是编程的一些小技巧,我觉得很重要,在写好代码之后,先去跑上一两个小时,找出程序中的一些错误,修改一下,这样,预先进行的代码测试,可以保证代码的健壮性。
最后,数据存储
当数据量为3000万到5000万时,无论是MySQL、Oracle还是SQLServer,都不太可能存储在一个表中,此时就可以使用分表存储。数据采集完毕,插入数据库时,可以实施批量插入等战略。保证自己的存储不受数据库性能等方面的影响。
上面详细介绍了数据来源以及爬虫是如何采集数据的。在大数据时代,许多企业需要收集数据,但建议在收集数据时适当控制,以免对目标网站造成dos入侵。
标签:收集,网站,代码,爬虫,从何而来,数据量,数据,揭秘 From: https://blog.51cto.com/u_15890319/5986043