1 2 3 4
摘要: 序二 众所周知,人工智能的这次浪潮和深度学习技术的突破密不可分,却很少有人会谈论另一位幕后英雄,即数据。如果不是网络上有如此多的图片,李飞飞教授也无法构建近千万的标注图片集合 ImageNet,从而成就深度学习技术在图像识别领域的突破。如果不是在网络上有了如此多的聊天数据,小冰也不会学习到人类的情商 阅读全文
posted @ 2021-03-30 22:28 学霸君主 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1.3 解析库的安装 抓取网页代码之后,下一步就是从网页中提取信息。提取信息的方式有多种多样,可以使用正则来提取,但是写起来相对比较烦琐。这里还有许多强大的解析库,如 lxml、Beautiful Soup、pyquery 等。此外,还提供了非常强大的解析方法,如 XPath 解析和 CSS 选择器 阅读全文
posted @ 2021-03-30 22:25 学霸君主 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1.2 请求库的安装 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本书中,我们用到的第三方库有 requests、Selenium 和 aiohttp 等。 在本节中,我 阅读全文
posted @ 2021-03-30 22:22 学霸君主 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 1.5 存储库的安装 1.4 节中,我们介绍了几个数据库的安装方式,但这仅仅是用来存储数据的数据库,它们提供了存储服务,但如果想要和 Python 交互的话,还需要安装一些 Python 存储库,如 MySQL 需要安装 PyMySQL,MongoDB 需要安装 PyMongo 等。本节中,我们来说 阅读全文
posted @ 2021-03-30 22:18 学霸君主 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1.6 Web 库的安装 对于 Web,我们应该都不陌生,现在日常访问的网站都是 Web 服务程序搭建而成的。Python 同样不例外,也有一些这样的 Web 服务程序,比如 Flask、Django 等,我们可以拿它来开发网站和接口等。 在本书中,我们主要使用这些 Web 服务程序来搭建一些 AP 阅读全文
posted @ 2021-03-30 22:15 学霸君主 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1.7 App 爬取相关库的安装 除了 Web 网页,爬虫也可以抓取 App 的数据。App 中的页面要加载出来,首先需要获取数据,而这些数据一般是通过请求服务器的接口来获取的。由于 App 没有浏览器这种可以比较直观地看到后台请求的工具,所以主要用一些抓包技术来抓取数据。 本书介绍的抓包工具有 C 阅读全文
posted @ 2021-03-30 22:12 学霸君主 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 2.1 HTTP 基本原理 在本节中,我们会详细了解 HTTP 的基本原理,了解在浏览器中敲入 URL 到获取网页内容之间发生了什么。了解了这些内容,有助于我们进一步了解爬虫的基本原理。 2.1.1 URI 和 URL 这里我们先了解一下 URI 和 URL,URI 的全称为 Uniform Res 阅读全文
posted @ 2021-03-30 22:09 学霸君主 阅读(264) 评论(1) 推荐(0) 编辑
摘要: 1.9 部署相关库的安装 如果想要大规模抓取数据,那么一定会用到分布式爬虫。对于分布式爬虫来说,我们需要多台主机,每台主机有多个爬虫任务,但是源代码其实只有一份。此时我们需要做的就是将一份代码同时部署到多台主机上来协同运行,那么怎么去部署就是另一个值得思考的问题。 对于 Scrapy 来说,它有一个 阅读全文
posted @ 2021-03-30 22:06 学霸君主 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 2.4 会话和 Cookies 在浏览网站的过程中,我们经常会遇到需要登录的情况,有些页面只有登录之后才可以访问,而且登录之后可以连续访问很多次网站,但是有时候过一段时间就需要重新登录。还有一些网站,在打开浏览器时就自动登录了,而且很长时间都不会失效,这种情况又是为什么?其实这里面涉及会话(Sess 阅读全文
posted @ 2021-03-30 22:03 学霸君主 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 2.3 爬虫的基本原理 我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获 阅读全文
posted @ 2021-03-30 22:00 学霸君主 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 2.2 网页基础 用浏览器访问网站时,页面各不相同,你有没有想过它为何会呈现这个样子呢?本节中,我们就来了解一下网页的基本组成、结构和节点等内容。 2.2.1 网页的组成 网页可以分为三大部分 —— HTML、CSS 和 JavaScript。如果把网页比作一个人的话,HTML 相当于骨架,Java 阅读全文
posted @ 2021-03-30 21:57 学霸君主 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 3.1 使用 urllib 在 Python 2 中,有 urllib 和 urllib2 两个库来实现请求的发送。而在 Python 3 中,已经不存在 urllib2 这个库了,统一为 urllib,其官方文档链接为:https://docs.python.org/3/library/urlli 阅读全文
posted @ 2021-03-30 21:53 学霸君主 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 第三章 基本库的使用 学习爬虫,最初的操作便是模拟浏览器向服务器发出请求,那么我们需要从哪个地方做起呢?请求需要我们自己来构造吗?需要关心请求这个数据结构的实现吗?需要了解 HTTP、TCP、IP 层的网络传输通信吗?需要知道服务器的响应和应答原理吗? 可能你不知道无从下手,不过不用担心,Pytho 阅读全文
posted @ 2021-03-30 21:50 学霸君主 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 3.3 正则表达式 本节中,我们看一下正则表达式的相关用法。正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。 当然,对于爬虫来说,有了它,从 HTML 里提取想要的信息就非常方便了。 1. 实例引入 说了这么多,可能我们对它到底是个什么还 阅读全文
posted @ 2021-03-30 21:47 学霸君主 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 3.2 使用 requests 上一节中,我们了解了 urllib 的基本用法,但是其中确实有不方便的地方,比如处理网页验证和 Cookies 时,需要写 Opener 和 Handler 来处理。为了更加方便地实现这些操作,就有了更为强大的库 requests,有了它,Cookies、登录验证、代 阅读全文
posted @ 2021-03-30 21:44 学霸君主 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 4.3 使用 pyquery 在上一节中,我们介绍了 Beautiful Soup 的用法,它是一个非常强大的网页解析库,你是否觉得它的一些方法用起来有点不适应?有没有觉得它的 CSS 选择器的功能没有那么强大? 如果你对 Web 有所涉及,如果你比较喜欢用 CSS 选择器,如果你对 jQuery 阅读全文
posted @ 2021-03-30 21:41 学霸君主 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 4.1 使用 XPath XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。它最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索。 所以在做爬虫时,我们完全可以使用 XPath 来做相应的信息抽取。本节中,我们就 阅读全文
posted @ 2021-03-30 21:38 学霸君主 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 第四章 解析库的使用 上一章中,我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,这还是比较烦琐,而且万一有地方写错了,可能导致匹配失败,所以使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网 阅读全文
posted @ 2021-03-30 21:35 学霸君主 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 第五章 数据存储 用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。 阅读全文
posted @ 2021-03-30 21:31 学霸君主 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 6.1 什么是 Ajax Ajax,全称为 Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML。它不是一门编程语言,而是利用 JavaScript 在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。 对于传统的网页 阅读全文
posted @ 2021-03-30 21:28 学霸君主 阅读(79) 评论(0) 推荐(0) 编辑