| 作者 |
| 黄永祥 |
| 丛书名 |
| 出版社 |
| 清华大学出版社 |
| ISBN |
| 9787302503286 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书站在初学者的角度,从原理到实践,循序渐进地讲述了使用Python开发网络爬虫的核心技术。全书从逻辑上可分为基础篇、实战篇和爬虫框架篇三部分。基础篇主要介绍了编写网络爬虫所需的基础知识,分别是网站分析、数据抓取、数据清洗和数据入库。网站分析讲述如何使用Chrome和Fiddler抓包工具对网络做全面分析;数据抓取介绍了Python爬虫模块Urllib和Requests的基础知识;数据清洗主要介绍字符串操作、正则和Beautiful Soup的使用;数据入库分别讲述了MySQL和MongoDB的操作,通过ORM框架SQLAlchemy实现数据持久化,实现企业级开发。实战篇深入讲解了分布式爬虫、爬虫软件开发与应用、12306抢票程序和微博爬取,所举示例均来自于开发实践,可帮助读者快速提升技能,开发实际项目。框架篇主要讲述Scrapy的基础知识,并通过爬取QQ音乐为实例,让读者深层次了解Scrapy的使用。 本书内容丰富,注重实战,适用于从零开始学习网络爬虫的初学者,或者是已经有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员。 |
| 目录 |
第1章理解网络爬虫 1 1.1 爬虫的定义 1 1.2 爬虫的类型 2 1.3 爬虫的原理 3 1.4 爬虫的搜索策略 5 1.5 反爬虫技术及解决方案 6 1.6 本章小结 8 第2章爬虫开发基础 9 2.1 HTTP与HTTPS 9 2.2 请求头 11 2.3 Cookies 13 2.4 HTML 14 2.5 JavaScript 16 2.6 JSON 18 2.7 Ajax 19 2.8 本章小结 20 第3章Chrome分析网站 21 3.1 Chrome开发工具 21 3.2 Elements标签 22 3.3 Network标签 23 3.4 分析QQ音乐 27 3.5 本章小结 29 第4章Fiddler抓包工具 30 4.1 Fiddler介绍 30 4.2 Fiddler安装配置 31 4.3 Fiddler抓取手机应用 33 4.4 Toolbar工具栏 36 4.5 Web Session列表 37 4.6 View选项视图 40 4.7 Quickexec命令行 41 4.8 本章小结 42 第5章Urllib数据抓取 43 5.1 Urllib简介 43 5.2 发送请求 44 5.3 复杂的请求 46 5.4 代理IP 47 5.5 使用Cookies 48 5.6 证书验证 50 5.7 数据处理 51 5.8 本章小结 52 第6章Requests数据抓取 54 6.1 Requests简介及安装 54 6.2 请求方式 55 6.3 复杂的请求方式 57 6.4 下载与上传 60 6.5 本章小结 63 第7章验证码识别 64 7.1 验证码类型 64 7.2 OCR技术 66 7.3 第三方平台 69 7.4 本章小结 72 第8章数据清洗 74 8.1 字符串操作 74 8.2 正则表达式 78 8.3 Beautiful Soup介绍及安装 84 8.4 Beautiful Soup的使用 86 8.5 本章小结 90 第9章文档数据存储 92 9.1 CSV数据写入和读取 92 9.2 Excel数据写入和读取 94 9.3 Word数据写入和读取 99 9.4 本章小结 101 第10章ORM框架 104 10.1 SQLAlchemy介绍 104 10.2 安装SQLAlchemy 105 10.3 连接数据库 106 10.4 创建数据表 108 10.5 添加数据 111 10.6 更新数据 112 10.7 查询数据 114 10.8 本章小结 116 第11章MongoDB数据库操作 118 11.1 MongoDB介绍 118 11.2 安装及使用 120 11.2.1 MongoDB 120 11.2.2 MongoDB可视化工具 121 11.2.3 PyMongo 123 11.3 连接数据库 123 11.4 添加文档 125 11.5 更新文档 126 11.6 查询文档 127 11.7 本章小结 130 第12章项目实战:爬取淘宝商品信息 131 12.1 分析说明 131 12.2 功能实现 134 12.3 数据存储 136 12.4 本章小结 138 第13章项目实战:分布式爬虫——QQ音乐 139 13.1 分析说明 139 13.2 歌曲下载 140 13.3 歌手和歌曲信息 145 13.4 分类歌手列表 148 13.5 全站歌手列表 150 13.6 数据存储 152 13.7 分布式概念 154 13.7.1 GIL是什么 154 13.7.2 为什么会有GIL 154 13.8 并发库concurrent.futures 155 13.9 分布式爬虫 157 13.10 本章小结 159 第14章项目实战:爬虫软件—— 淘宝商品信息 161 14.1 分析说明 161 14.2 GUI库介绍 162 14.3 PyQt5安装及环境搭建 162 14.4 软件界面开发 165 14.5 MVC——视图 169 14.6 MVC——控制器 171 14.7 MVC——模型 172 14.8 扩展思路 173 14.9 本章小结 174 第15章项目实战:12306抢票 176 15.1 分析说明 176 15.2 验证码验证 177 15.3 用户登录与验证 181 15.4 查询车次 187 15.5 预订车票 193 15.6 提交订单 196 15.7 生成订单 204 15.8 本章小结 209 第16章项目实战:玩转微博 219 16.1 分析说明 219 16.2 用户登录 220 16.3 用户登录(带验证码) 232 16.4 关键字搜索热门微博 240 16.5 发布微博 247 16.6 关注用户 253 16.7 点赞和转发评论 257 16.8 本章小结 263 第17章Scrapy爬虫框架 265 17.1 爬虫框架 265 17.2 Scrapy的运行机制 267 17.3 安装Scrapy 268 17.4 爬虫开发快速入门 270 17.5 Spiders介绍 277 17.6 Spider的编写 278 17.7 Items的编写 282 17.8 Item Pipeline的编写 284 17.9 Selectors的编写 288 17.10 文件下载 291 17.11 本章小结 296 第18章项目实战:Scrapy爬取QQ音乐 298 18.1 分析说明 298 18.2 创建项目 299 18.3 编写setting 300 18.4 编写Items 301 18.5 编写Item Pipelines 302 18.6 编写Spider 305 18.7 本章小结 310 |