数据收集 Data Acquisition

目的

希望通过本章的阅读,您可以快速掌握爬虫技术,从互联网上抓取自己需要的信息以进行进一步的处理分析。实现爬虫时请了解Robots协议。Robots协议也称为爬虫协议、爬虫规则、机器人协议,是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。如果您需要更多支持和帮助,欢迎随时联系我们: [email protected]

介绍

数据来源可以是企业网、互联网、物联网。不同的数据来源有各自的存储格式和访问协议。

  • 企业网:企业内部的数据,例如移动通信公司内部的BSS和OSS数据,金融系统的个人帐户和企业信贷数据。这些数据大多为传统的交易数据,以数字为主。
  • 互联网:互联网上的数据,包括由文本、声音、图像等非结构化数据,也即是大数据中的多样性Variety,需要把这些数据结构化后才能结合具体业务做分析。
  • 物联网:智能终端产生的数据,包括手机、感应器、机器人等生成的数据。

企业内部一般会有很多部门如Sales、HR、Operation、Support等,不同部门之间的数据也运行在不同的系统上并产生不同格式的数据,如CRM、ERP、OA等,经常会有需求整理关联所有数据以形成有效分析。传统ETL方式会需要数日到数周的时间完成一个计算周期,大数据计算时代可以充分利用水平扩展来极大缩短计算周期到小时级别甚至分钟级别以实现更多的业务分析。如需更多信息,欢迎联系我们: [email protected]

然而,企业内部信息基本集中在自己行业,如果需要外部数据的话,就需要通过其他方式完成。例如,银行内部有历史汇率信息,如果需要查看汇率变化和矿产价格变化的关系,就需要从其他服务商处购买矿产价格数据了。

我们这里介绍收集互联网数据,一般有两种方式:

  • 爬虫:爬取网页内的相关信息。
  • API:很多公司提供了API方式直接提供数据,例如Amazon、Twitter等等。

我们应该首选使用API方式获取数据,其次才是考虑爬虫的方式。API会在数据共享一章中具体讨论。这里我们以餐馆经营分析为例,使用爬虫从互联网上收集指定地区的餐馆信息和相关评价,以此数据作为基础进行分析。

学习

网络爬虫有很多选择,我们选择使用基于Python的Scrapy。这里感谢一位小美女,让我有机会接触到了Python语言,从此也就因为语言的简洁、易用、扩展成为我在服务端编程和数据处理的首选,正如苹果的iPhone,也是以后我们设计研发产品的思路。相比C语言等,Python的单机性能不好。在测试SVM和Random Forest分类算法的时候,在50万数据的时候就内存溢出而导致程序异常。但在分布式并行计算的框架中,单机的性能差异对整体系统性能影响其实并不大。

推荐两本书:

Learning Scrapy Web Scraping with Python: Collecting Data from the Modern Web

实践

小结

本篇讲述了如何使用Scrapy和Xpath抓取互联网数据并保存为json格式的磁盘文件。在此基础上我们可以结合自己的业务诉求,运用更多工具抓取更多的数据进行分析。虽然简单的抓取网页技术不难,但是随着数据深度和广度的需求,需要用到的技术也越来越复杂。并且,好多业务团队或小公司只是需要快速获取数据,并不想花太多时间研究技术。因此,我们也计划开发一个简单、易用、扩展的SaaS数据采集平台,方便个人、小公司、业务团队使用。只需要在界面上配置数据源和采集项,就可以运行任务得到数据了。我们开发一个原型版本,获得融资后会继续完善: Get Data Online!

从获得的数据来看,我们还需要进行数据清理以及运用算法对数据进行再次加工,从而得到更加有帮助的数据。这个会在下一篇文章讨论。

最后,我们把采集的数据存为csv格式,在google spreadsheet中呈现:

Langley Chinese Retaurants and Reviews


如果您有数据分析咨询实施的需求,欢迎随时和我们联系!

email:[email protected]


微信扫码支持
友情支持 自由赞助

results matching ""

    No results matching ""