大数据的数据从哪里来?除了部分企业有能力自己产生大量的数据,大部分时候,是需要靠爬虫来抓取互联网数据来做分析。
网络爬虫是 Python 的传统强势领域,最流行的爬虫框架 Scrapy,HTTP 工具包 urlib2,HTML 解析工具 beautifulsoup,XML 解析器 lxml,等等,都是能够独当一面的类库。
不过,网络爬虫并不仅仅是打开网页,解析 HTML 这么简单。高效的爬虫要能够支持大量灵活的并发操作,常常要能够同时几千甚至上万个网页同时抓取,传统的线程池方式资源浪费比较大,线程数上千之后系统资源基本上就全浪费在线程调度上了。Python 由于能够很好的支持协程(Coroutine)操作,基于此发展起来很多并发库,如 Gevent,Eventlet,还有 Celery 之类的分布式任务框架。被认为是比 AMQP 更高效的 ZeroMQ 也是最早就提供了 Python 版本。有了对高并发的支持,网络爬虫才真正可以达到大数据规模。
抓取下来的数据,需要做分词处理,Python 在这方面也不逊色,著名的自然语言处理程序包 NLTK,还有专门做中文分词的 Jieba,都是做分词的利器。
来自:http://www.techug.com/full-stack-python