Python 3网络爬虫开发实战出版时间: 2018内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、Beautiful Soup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了不同场景下如何实现数据爬取,最后介绍了pyspider框架、Scrapy框架和分布式爬虫。本书适合Python程序员阅读。目录第1章 开发环境配置 11.1 Python 3的安装 11.1.1 Windows下的安装 11.1.2 Linux下的安装 61.1.3 Mac下的安装 81.2 请求库的安装 101.2.1 requests的安装 101.2.2 Selenium的安装 111.2.3 ChromeDriver的安装 121.2.4 GeckoDriver的安装 151.2.5 PhantomJS的安装 171.2.6 aiohttp的安装 181.3 解析库的安装 191.3.1 lxml的安装 191.3.2 Beautiful Soup的安装 211.3.3 pyquery的安装 221.3.4 tesserocr的安装 221.4 数据库的安装 261.4.1 MySQL的安装 271.4.2 MongoDB的安装 291.4.3 Redis的安装 361.5 存储库的安装 391.5.1 PyMySQL的安装 391.5.2 PyMongo的安装 391.5.3 redis-py的安装 401.5.4 RedisDump的安装 401.6 Web库的安装 411.6.1 Flask的安装 411.6.2 Tornado的安装 421.7 App爬取相关库的安装 431.7.1 Charles的安装 441.7.2 mitmproxy的安装 501.7.3 Appium的安装 551.8 爬虫框架的安装 591.8.1 pyspider的安装 591.8.2 Scrapy的安装 611.8.3 Scrapy-Splash的安装 651.8.4 Scrapy-Redis的安装 661.9 部署相关库的安装 671.9.1 Docker的安装 671.9.2 Scrapyd的安装 711.9.3 Scrapyd-Client的安装 741.9.4 Scrapyd API的安装 751.9.5 Scrapyrt的安装 751.9.6 Gerapy的安装 76第2章 爬虫基础 772.1 HTTP基本原理 772.1.1 URI和URL 772.1.2 超文本 782.1.3 HTTP和HTTPS 782.1.4 HTTP请求过程 802.1.5 请求 822.1.6 响应 842.2 网页基础 872.2.1 网页的组成 872.2.2 网页的结构 882.2.3 节点树及节点间的关系 902.2.4 选择器 912.3 爬虫的基本原理 932.3.1 爬虫概述 932.3.2 能抓怎样的数据 942.3.3 JavaScript渲染页面 942.4 会话和Cookies 952.4.1 静态网页和动态网页 952.4.2 无状态HTTP 962.4.3 常见误区 982.5 代理的基本原理 992.5.1 基本原理 992.5.2 代理的作用 992.5.3 爬虫代理 1002.5.4 代理分类 1002.5.5 常见代理设置 101第3章 基本库的使用 1023.1 使用urllib 1023.1.1 发送请求 1023.1.2 处理异常 1123.1.3 解析链接 1143.1.4 分析Robots协议 1193.2 使用requests 1223.2.1 基本用法 1223.2.2 高级用法 1303.3 正则表达式 1393.4 抓取猫眼电影排行 150第4章 解析库的使用 1584.1 使用XPath 1584.2 使用Beautiful Soup 1684.3 使用pyquery 184第5章 数据存储 1975.1 文件存储 1975.1.1 TXT文本存储 1975.1.2 JSON文件存储 1995.1.3 CSV文件存储 2035.2 关系型数据库存储 2075.2.1 MySQL的存储 2075.3 非关系型数据库存储 2135.3.1 MongoDB存储 2145.3.2 Redis存储 221第6章 Ajax数据爬取 2326.1 什么是Ajax 2326.2 Ajax分析方法 2346.3 Ajax结果提取 2386.4 分析Ajax爬取今日头条街拍美图 242第7章 动态渲染页面爬取 2497.1 Selenium的使用 2497.2 Splash的使用 2627.3 Splash负载均衡配置 2867.4 使用Selenium爬取淘宝商品 289第8章 验证码的识别 2988.1 图形验证码的识别 2988.2 极验滑动验证码的识别 3018.3 点触验证码的识别 3118.4 微博宫格验证码的识别 318第9章 代理的使用 3269.1 代理的设置 3269.2 代理池的维护 3339.3 付费代理的使用 3479.4 ADSL拨号代理 3519.5 使用代理爬取微信公众号文章 364第10章 模拟登录 37910.1 模拟登录并爬取GitHub 37910.2 Cookies池的搭建 385第11章 App的爬取 39811.1 Charles的使用 39811.2 mitmproxy的使用 40511.3 mitmdump爬取“得到”App电子书信息 41711.4 Appium的基本使用 42311.5 Appium爬取微信朋友圈 43311.6 Appium+mitmdump爬取京东商品 437第12章 pyspider框架的使用 44312.1 pyspider框架介绍 44312.2 pyspider的基本使用 44512.3 pyspider用法详解 459第13章 Scrapy框架的使用 46813.1 Scrapy框架介绍 46813.2 Scrapy入门 47013.3 Selector的用法 48013.4 Spider的用法 48613.5 Downloader Middleware的用法 48713.6 Spider Middleware的用法 49413.7 Item Pipeline的用法 49613.8 Scrapy对接Selenium 50613.9 Scrapy对接Splash 51113.10 Scrapy通用爬虫 51613.11 Scrapyrt的使用 53313.12 Scrapy对接Docker 53613.13 Scrapy爬取新浪微博 541第14章 分布式爬虫 55514.1 分布式爬虫原理 55514.2 Scrapy-Redis源码解析 55814.3 Scrapy分布式实现 56414.4 Bloom Filter的对接 569第15章 分布式爬虫的部署 57715.1 Scrapyd分布式部署 57715.2 Scrapyd-Client的使用 58215.3 Scrapyd对接Docker 58315.4 Scrapyd批量部署 58615.5 Gerapy分布式管理 590 上一篇: PHP7实践指南:O2O网站与App后台开发 下一篇: 基于深度学习的自然语言处理