ipython notebook --pylab=inline
Pandas提供了IO工具可以将大文件分块读取,测试了一下性能,完整加载9800万条数据也只需要263秒左右,还是相当不错了。
import
pandas as pd
reader = pd.read_csv('data/servicelogs',
iterator=True)
try:
df = reader.get_chunk(100000000)
except
StopIteration:
print "Iteration is stopped."
从数据采集角度来说,都有哪些数据源呢?这四类数据源包括了:开放数据源、爬虫抓取、传感器和日志采集
开放数据源一般是针对行业的数据库。国内,贵州做了不少大胆尝试,搭建了云平台,逐年开放了旅游、交通、商务等领域的数据量
爬虫抓取,一般是针对特定的网站或 App。如果我们想要抓取指定的网站数据,比如购物网站上的购物评价等,就需要我们做特定的爬虫抓取。
第三类数据源是传感器,它基本上采集的是物理信息。比如图像、视频、或者某个物体的速度、热度、压强等。
最后是日志采集,这个是统计用户的 *** 作。我们可以在前端进行埋点,在后端进行脚本收集、统计,来分析网站的访问情况,以及使用瓶颈等
如何使用开放数据源
一个是单位的维度,比如政府、企业、高校;一个就是行业维度,比如交通、金融、能源等领域
如何使用爬虫做抓取
在 Python 爬虫中,基本上会经历三个过程。
1、使用 Requests 爬取内容。我们可以使用 Requests 库来抓取网页信息。Requests 库可以说是 Python 爬虫的利器,也就是 Python 的 HTTP 库,通过这个库爬取网页中的数据,非常方便,可以帮我们节约大量的时间。
2、使用 XPath 解析内容。XPath 是 XML Path 的缩写,也就是 XML 路径语言。它是一种用来确定 XML 文档中某部分位置的语言,在开发中经常用来当作小型查询语言。XPath 可以通过元素和属性进行位置索引。
3、使用 Pandas 保存数据。Pandas 是让数据分析工作变得更加简单的高级数据结构,我们可以用 Pandas 保存爬取的数据。最后通过 Pandas 再写入到 XLS 或者 MySQL 等数据库中。
Requests、XPath、Pandas 是 Python 的三个利器。当然做 Python 爬虫还有很多利器,比如 Selenium,PhantomJS,或者用 Puppteteer 这种无头模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)