网络爬虫并不是一门语言的独门秘籍,Python,Java,PHP,C#,C++等语言 都可以讲出精彩的故事。有人说编程语言就是宗教,不同语言的设计哲学不同, 行为方式各异。对于本系统而言,由于 Python 简洁轻松的语法,开箱即用的模 块,强大而快乐的社区以及可以快速构建出简单高效的解决方案等优点使我将其 作为首选开发语言。
几乎每门主流语言都会在网络封装、文件操作、GUI 开发、数据库操作等方 面提供比较完善的标准库,也就是开发者所用的基础代码库,Python 也不例外。 因为有了这些标准库,许多东西不必从零写起,可以大大缩短开发的时间,提高 效率。对于网络应用,比如网站前端后端,爬虫等等,Python 尤为适合。除了 Python 内置的标准库(httplib, json 等)之外,Python 还有大量优秀的第三方包可 用,比如符合人性化的 requests 包、强大页面解析功能的 BeautifulSoup 等。这些 都得益于良好的社区环境,比如 Github。因为 Python 的简洁优雅,使得大量开 源志愿者参与到 Python 的完善以及第三方包开发之中。
2。1。2MongoDB 介绍
MongoDB 是由 C++语言编写的,是一个基于分布式文件存储的 NoSQL 型
开源数据库系统。通过添加多节点,即使在负载很高的情况下,仍然也能够确保 服务器性能。MongoDB 提供了一种具有可扩展性的高性能数据存储解决方案, 对于 Web 应用尤其适用。MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他 文档,数组及文档数组。
主要特点如下:
MongoDB 的提供了一个面向文档存储,操作起来比较简单和容易。
你可以在 MongoDB 记 录 中 设 置 任 何 属 性 的 索 引 ( 如:
FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
你可以通过本地或者网络创建数据镜像,这使得 MongoDB 有更强的扩展 性。
随着负载的增加,也就是应用需要更多的存储空间和更强大的处理能力的 时候,它通过把负载分布在计算机网络中的多个节点来分流。这也就是所 谓的分片。
Mongo 的查询表达式非常丰富。通过 JSON 形式的查询指令标记,可以非 常轻松的查询文档中的内嵌对象。
MongoDB 通过 update()命令可以实现更新文档或者指定的数据字段。
MongodB 中的 Map/reduce, 前者主要进行批量处理,后者负责聚合操作。
Map 函数与 Reduce 函数都是由 Javascript 编写的,并可以通过 db。runCo mmand 或 mapreduce 命令来执行 MapReduce 操作。
GridFS 是 MongoDB 中的一个内置功能,可以用于存放大量小文件。
MongoDB 支持在服务端执行脚本,比如用 Javascript 编写的某个函数在服 务端可以直接执行,也可以直接在服务端存储函数的定义,下次通过调用 服务端函数即可直接使用。
MongoDB 对多种语言都提供了驱动程序,如 Python、C++、Java、C#、 PHP 等。
MongoDB 安装简单。[3]
2。1。3Web。py 介绍
Web。py 是一个轻量级的 python web 框架,在开始你的 web。py 程序之前,打开