摘要: 2.4.2 查找和排序 查找:顺序查找、二分查找、哈希表查找、二叉排序树查找 排序:插入排序、冒泡排序、归并排序、快速排序 优缺点对比:额外空间消耗、平均时间复杂度、最差时间复杂度 桶排序:范围很小的时候可以用,速度很快,范围大的时候太浪费空间。 冒泡排序:时间复杂度是O(N^2),太高了 快速排序 阅读全文
posted @ 2018-09-12 16:22 流年不见我 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 第五章 数据存储 我们用解析器解析出数据之后,接下来的一步就是对数据进行存储了,保存的形式可以多种多样,最简单的形式可以直接保存为文本文件,如 TXT、Json、CSV 等等,另外还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等等。那么本章我们就来统一 阅读全文
posted @ 2018-07-23 00:11 流年不见我 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 4.3 PyQuery的使用 在上一节我们介绍了 BeautifulSoup 的使用,它是一个非常强大的网页解析库,可有没有觉得它的一些方法使用有点不适应?有没有觉得它的 CSS 选择器功能没有那么强大? 如果你对 Web 有所涉及,如果你比较喜欢用 CSS 选择器,如果你对 jQuery 有所了解 阅读全文
posted @ 2018-07-22 17:29 流年不见我 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 4.2 BeautifulSoup的使用 前面我们介绍了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就不是我们想要的结果了,而且对于一个网页来说,都有一定的特殊的结构和层级关系,而且很多节点都有id或class来对作区分,所以我们借助于它们的结构和属性来提取不也是可以的吗? 所以,这一节 阅读全文
posted @ 2018-07-20 11:40 流年不见我 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 第四章 解析库的使用 上一节我们实现了一个最基本的爬虫,但提取页面信息时我们使用的是正则表达式,用过之后我们会发现构造一个正则表达式还是比较的繁琐的,而且万一有一点地方写错了就可能会导致匹配失败,所以使用正则来提取页面信息多多少少还是有些不方便的。 对于网页的节点来说,它可以定义 id、class 阅读全文
posted @ 2018-07-20 10:19 流年不见我 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 学习爬虫,最初的操作便是来模拟浏览器向服务器发出一个请求,那么我们需要从哪个地方做起呢?请求需要我们自己来构造吗?我们需要关心请求这个数据结构的实现吗?我们需要了解 HTTP、TCP、IP 层的网络传输通信吗?我们需要知道服务器的响应和应答原理吗? 可能你不知道无从下手,不用担心,Python 的强 阅读全文
posted @ 2018-06-22 14:58 流年不见我 阅读(849) 评论(0) 推荐(0) 编辑
摘要: 1.1 Python3的安装 既然要用 Python3 开发爬虫,那么第一步一定是安装 Python3,本节会介绍 Windows平台下安装 Python3 的过程。 1. 相关链接 官方网站:http://python.org 下载地址:https://www.python.org/downloa 阅读全文
posted @ 2018-06-22 09:26 流年不见我 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 2.1 HTTP基本原理 在本节我们会详细了解 HTTP 的基本原理,了解在浏览器中敲入一个 URL 到获取网页内容发生了一个怎样的过程,了解了这些内容,有助于去进一步了解爬虫的基本原理。 1. URI、URL 在了解 HTTP 之前我们先了解一下 URI 和 URL。我们经常会听到 URI 和 U 阅读全文
posted @ 2018-06-21 16:59 流年不见我 阅读(365) 评论(2) 推荐(0) 编辑