编辑推荐
null
内容简介
崔庆才著的《Python3网络爬虫开发实战》介绍了如何利用Python 3开发网络爬虫。书中首先详细介绍了环境配置过程和爬虫基础知识;然后讨论了urllib、requests等请求库,Beautiful Soup、xPath、pyquery等解析库以及文本和各类数据库的存储方法;接着通过多个案例介绍了如何进行Alax数据爬取,如何使用Selenium和Splash进行动态网站爬取;再后介绍了爬虫的一些技巧,比如使用代理爬取和维护动态代理池的方法,ADsL拨号代理的使用,图形、极验、点触、宫格等各类验证码的破解方法,模拟登录网站爬取的方法及cookies池的维护。 此外,本书还结合移动互联网的特点探讨了使用Charles、mitmdump、Appium等工具实现App爬取的方法,紧接着介绍了pyspider。框架和Scrapy框架的使用,以及分布式爬虫的知识,最后介绍了BloomFilter效率优化、Docker和Scrapyd爬虫部署、Gerapy爬虫管理等方面的知识。 本书适合Python程序员阅读。
作者介绍
崔庆才,北京航空航天大学硕士,静觅博客(https://cuiqingcai.com/)博主,爬虫博文访问量已过百万,喜欢钻研,热爱生活,乐于分享。欢迎关注个人微信公众号“进击的Coder”。
目 录
第1章 开发环境配置 1.1 Python 3的安装 1.1.1 Windows下的安装 1.1.2 Linux下的安装 1.1.3 Mac下的安装 1.2 请求库的安装 1.2.1 requests的安装 1.2.2 Selenium的安装 1.2.3 ChromeDriver的安装 1.2.4 GeckoDriver的安装 1.2.5 PhantomJS的安装 1.2.6 aiohttp的安装 1.3 解析库的安装 1.3.1 lxml的安装 1.3.2 Beautiful Soup的安装 1.3.3 pyquery的安装 1.3.4 tesserocr的安装 1.4 数据库的安装 1.4.1 MySQL的安装 1.4.2 MongoDB的安装 1.4.3 Redis的安装 1.5 存储库的安装 1.5.1 PyMySQL的安装 1.5.2 PyMongo的安装 1.5.3 redis-py的安装 1.5.4 RedisDump的安装 1.6 Web库的安装 1.6.1 Flask的安装 1.6.2 Tornado的安装 1.7 App爬取相关库的安装 1.7.1 Charles的安装 1.7.2 mitmproxy的安装 1.7.3 Appium的安装 1.8 爬虫框架的安装 1.8.1 pyspider的安装 1.8.2 Scrapy的安装 1.8.3 Scrapy-Splash的安装 1.8.4 Scrapy-Redis的安装 1.9 部署相关库的安装 1.9.1 Docker的安装 1.9.2 Scrapyd的安装 1.9.3 Scrapyd-Client的安装 1.9.4 Scrapyd API的安装 1.9.5 Scrapyrt的安装 1.9.6 Gerapy的安装 第2章 爬虫基础 2.1 HTTP基本原理 2.1.1 URI和URL 2.1.2 超文本 2.1.3 HTTP和HTTPS 2.1.4 HTTP请求过程 2.1.5 请求 2.1.6 响应 2.2 网页基础 2.2.1 网页的组成 2.2.2 网页的结构 2.2.3 节点树及节点间的关系 2.2.4 选择器 2.3 爬虫的基本原理 2.3.1 爬虫概述 2.3.2 能抓怎样的数据 2.3.3 JavaScript渲染页面 2.4 会话和Cookies 2.4.1 静态网页和动态网页 2.4.2 无状态HTTP 2.4.3 常见误区 2.5 代理的基本原理 2.5.1 基本原理 2.5.2 代理的作用 2.5.3 爬虫代理 2.5.4 代理分类 2.5.5 常见代理设置 第3章 基本库的使用 3.1 使用urllib 3.1.1 发送请求 3.1.2 处理异常 3.1.3 解析链接 3.1.4 分析Robots协议 3.2 使用requests 3.2.1 基本用法 3.2.2 高级用法 3.3 正则表达式 3.4 抓取猫眼电影排行 第4章 解析库的使用 4.1 使用XPath 4.2 使用Beautiful Soup 4.3 使用pyquery 第5章 数据存储 5.1 文件存储 5.1.1 TXT文本存储 5.1.2 JSON文件存储 5.1.3 CSV文件存储 5.2 关系型数据库存储 5.2.1 MySQL的存储 5.3 非关系型数据库存储 5.3.1 MongoDB存储 5.3.2 Redis存储 第6章 Ajax数据爬取 6.1 什么是Ajax 6.2 Ajax分析方法 6.3 Ajax结果提取 6.4 分析Ajax爬取今日头条街拍美图 第7章 动态渲染页面爬取 7.1 Selenium的使用 7.2 Splash的使用 7.3 Splash负载均衡配置 7.4 使用Selenium爬取淘宝商品 第8章 验证码的识别 8.1 图形验证码的识别 8.2 极验滑动验证码的识别 8.3 点触验证码的识别 8.4 微博宫格验证码的识别 第9章 代理的使用 9.1 代理的设置 9.2 代理池的维护 9.3 付费代理的使用 9.4 ADSL拨号代理 9.5 使用代理爬取微信公众号文章 第10章 模拟登录 10.1 模拟登录并爬取GitHub 10.2 Cookies池的搭建 第11章 App的爬取 11.1 Charles的使用 11.2 mitmproxy的使用 11.3 mitmdump爬取“得到”App电子书信息 11.4 Appium的基本使用 11.5 Appium爬取微信朋友圈 11.6 Appium+mitmdump爬取京东商品 第12章 pyspider框架的使用 12.1 pyspider框架介绍 12.2 pyspider的基本使用 12.3 pyspider用法详解 第13章 Scrapy框架的使用 13.1 Scrapy框架介绍 13.2 Scrapy入门 13.3 Selector的用法 13.4 Spider的用法 13.5 Downloader Middleware的用法 13.6 Spider Middleware的用法 13.7 Item Pipeline的用法 13.8 Scrapy对接Selenium 13.9 Scrapy对接Splash 13.10 Scrapy通用爬虫 13.11 Scrapyrt的使用 13.12 Scrapy对接Docker 13.13 Scrapy爬取新浪微博 第14章 分布式爬虫 14.1 分布式爬虫原理 14.2 Scrapy-Redis源码解析 14.3 Scrapy分布式实现 14.4 Bloom Filter的对接 第15章 分布式爬虫的部署 15.1 Scrapyd分布式部署 15.2 Scrapyd-Client的使用 15.3 Scrapyd对接Docker 15.4 Scrapyd批量部署 15.5 Gerapy分布式管理
媒体评论
null