实战Python网络爬虫
معرفی کتاب «实战Python网络爬虫» نوشتهٔ 黄永祥 (计算机技术)، منتشرشده توسط نشر 清华大学出版社 در سال 2019. این کتاب در فرمت pdf، زبان zh ارائه شده است. «实战Python网络爬虫» در دستهٔ بدون دستهبندی قرار دارد.
本书从原理到实践,循序渐进地讲述了使用Python开发网络爬虫的核心技术。全书从逻辑上可分为基础篇、实战篇和爬虫框架篇三部分。基础篇主要介绍了编写网络爬虫所需的基础知识,包括网站分析、数据抓取、数据清洗和数据入库。网站分析讲述如何使用Chrome和Fiddler抓包工具对网站做全面分析;数据抓取介绍了Python爬虫模块Urllib和Requests的基础知识;数据清洗主要介绍字符串操作、正则和BeautifulSoup的使用;数据入库讲述了MySQL和MongoDB的操作,通过ORM框架SQLAlchemy实现数据持久化,进行企业级开发。实战篇深入讲解了分布式爬虫、爬虫软件的开发、12306抢票程序和微博爬取等。框架篇主要讲述流行的爬虫框架Scrapy,并以Scrapy与Selenium、Splash、Redis结合的项目案例,让读者深层次了解Scrapy的使用。此外,本书还介绍了爬虫的上线部署、如何自己动手开发一款爬虫框架、反爬虫技术的解决方案等内容。 本书使用Python 3.X编写,技术先进,项目丰富,适合欲从事爬虫工程师和数据分析师岗位的初学者、大学生和研究生使用,也很适合有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员使用。 封面 1 扉页 2 内容简介 3 版权页 3 前言 4 目录 8 第1章 理解网络爬虫 16 1.1 爬虫的定义 16 1.2 爬虫的类型 17 1.3 爬虫的原理 17 1.4 爬虫的搜索策略 19 1.5 爬虫的合法性与开发流程 20 1.6 本章小结 21 第2章 爬虫开发基础 22 2.1 HTTP与HTTPS 22 2.2 请求头 24 2.3 Cookies 25 2.4 HTML 26 2.5 JavaScript 27 2.6 JSON 29 2.7 Ajax 29 2.8 本章小结 30 第3章 Chrome分析网站 31 3.1 Chrome开发工具 31 3.2 Elements标签 32 3.3 Network标签 33 3.4 分析QQ音乐 35 3.5 本章小结 38 第4章 Fiddler抓包 39 4.1 Fiddler介绍 39 4.2 Fiddler安装配置 39 4.3 Fiddler抓取手机应用 41 4.4 Toolbar工具栏 44 4.5 Web Session列表 45 4.6 View选项视图 47 4.7 Quickexec命令行 48 4.8 本章小结 49 第5章 爬虫库Urllib 50 5.1 Urllib简介 50 5.2 发送请求 51 5.3 复杂的请求 52 5.4 代理IP 53 5.5 使用Cookies 54 5.6 证书验证 55 5.7 数据处理 56 5.8 本章小结 57 第6章 爬虫库Requests 58 6.1 Requests简介及安装 58 6.2 请求方式 59 6.3 复杂的请求方式 60 6.4 下载与上传 62 6.5 本章小结 64 第7章 Requests-Cache爬虫缓存 65 7.1 简介及安装 65 7.2 在Requests中使用缓存 65 7.3 缓存的存储机制 68 7.4 本章小结 69 第8章 爬虫库Requests-HTML 70 8.1 简介及安装 70 8.2 请求方式 71 8.3 数据清洗 71 8.4 Ajax动态数据抓取 74 8.5 本章小结 76 第9章 网页操控与数据爬取 77 9.1 了解Selenium 77 9.2 安装Selenium 78 9.3 网页元素定位 81 9.4 网页元素操控 85 9.5 常用功能 88 9.6 实战:百度自动答题 95 9.7 本章小结 100 第10章 手机App数据爬取 101 10.1 Appium简介及原理 101 10.2 搭建开发环境 102 10.3 连接Android系统 107 10.4 App的元素定位 112 10.5 App的元素操控 114 10.6 实战:淘宝商品采集 117 10.7 本章小结 122 第11章 Splash、Mitmproxy与Aiohttp 124 11.1 Splash动态数据抓取 124 11.2 Mitmproxy抓包 131 11.3 Aiohttp高并发抓取 134 11.4 本章小结 141 第12章 验证码识别 143 12.1 验证码的类型 143 12.2 OCR技术 144 12.3 第三方平台 146 12.4 本章小结 149 第13章 数据清洗 151 13.1 字符串操作 151 13.2 正则表达式 154 13.3 Beautiful Soup数据清洗 159 13.4 本章小结 164 第14章 文档数据存储 165 14.1 CSV数据的写入和读取 165 14.2 Excel数据的写入和读取 166 14.3 Word数据的写入和读取 169 14.4 本章小结 171 第15章 ORM框架 173 15.1 SQLAlchemy介绍与安装 173 15.2 连接数据库 175 15.3 创建数据表 177 15.4 添加数据 179 15.5 更新数据 180 15.6 查询数据 181 15.7 本章小结 183 第16章 MongoDB数据库操作 184 16.1 MongoDB介绍 184 16.2 MogoDB的安装及使用 185 16.3 连接MongoDB数据库 188 16.4 添加文档 189 16.5 更新文档 190 16.6 查询文档 191 16.7 本章小结 193 第17章 实战:爬取51Job招聘信息 195 17.1 项目分析 195 17.2 获取城市编号 195 17.3 获取招聘职位总页数 197 17.4 爬取每个职位信息 199 17.5 数据存储 203 17.6 爬虫配置文件 205 17.7 本章小结 206 第18章 实战:分布式爬虫——QQ音乐 208 18.1 项目分析 208 18.2 歌曲下载 209 18.3 歌手的歌曲信息 213 18.4 分类歌手列表 216 18.5 全站歌手列表 218 18.6 数据存储 219 18.7 分布式爬虫 220 18.8 本章小结 224 第19章 实战:12306抢票爬虫 226 19.1 项目分析 226 19.2 验证码验证 226 19.3 用户登录与验证 229 19.4 查询车次 234 19.5 预订车票 240 19.6 提交订单 242 19.7 生成订单 248 19.8 本章小结 251 第20章 实战:玩转微博 259 20.1 项目分析 259 20.2 用户登录 259 20.3 用户登录(带验证码) 268 20.4 关键词搜索热门微博 274 20.5 发布微博 279 20.6 关注用户 283 20.7 点赞和转发评论 286 20.8 本章小结 292 第21章 实战:微博爬虫软件开发 293 21.1 GUI库及PyQt5的安装与配置 293 21.2 项目分析 296 21.3 软件主界面 299 21.4 相关服务界面 303 21.5 微博采集界面 307 21.6 微博发布界面 312 21.7 微博爬虫功能 323 21.8 本章小结 330 第22章 Scrapy爬虫开发 332 22.1 认识与安装Scrapy 332 22.2 Scrapy爬虫开发示例 335 22.3 Spider的编写 341 22.4 Items的编写 344 22.5 Item Pipeline的编写 345 22.6 Selectors的编写 348 22.7 文件下载 351 22.8 本章小结 354 第23章 Scrapy扩展开发 356 23.1 剖析Scrapy中间件 356 23.2 自定义中间件 362 23.3 实战:Scrapy+Selenium爬取豆瓣电影评论 370 23.4 实战:Scrapy+Splash爬取B站动漫信息 377 23.5 实战:Scrapy+Redis分布式爬取猫眼排行榜 384 23.6 分布式爬虫与增量式爬虫 392 23.7 本章小结 399 第24章 实战:爬取链家楼盘信息 401 24.1 项目分析 401 24.2 创建项目 404 24.3 项目配置 404 24.4 定义存储字段 406 24.5 定义管道类 407 24.6 编写爬虫规则 411 24.7 本章小结 415 第25章 实战:QQ音乐全站爬取 417 25.1 项目分析 417 25.2 项目创建与配置 418 25.3 定义存储字段和管道类 420 25.4 编写爬虫规则 423 25.5 本章小结 428 第26章 爬虫的上线部署 430 26.1 非框架式爬虫部署 430 26.2 框架式爬虫部署 439 26.3 本章小结 449 第27章 反爬虫的解决方案 450 27.1 常见的反爬虫技术 450 27.2 基于验证码的反爬虫 451 27.3 基于请求参数的反爬虫 454 27.4 基于请求头的反爬虫 456 27.5 基于Cookies的反爬虫 458 27.6 本章小结 462 第28章 自己动手开发爬虫框架 464 28.1 框架设计说明 464 28.2 异步爬取方式 465 28.3 数据清洗机制 470 28.4 数据存储机制 472 28.5 实战:用自制框架爬取豆瓣电影 478 28.6 本章小结 483 正文结束 483
دانلود کتاب 实战Python网络爬虫