封面
版权页
内容提要
前言
第1章 网络爬虫概述
1.1 认识网络爬虫
1.1.1 网络爬虫的含义
1.1.2 网络爬虫的主要类型
1.1.3 简单网络爬虫的架构
1.1.4 网络爬虫的应用场景
1.2 Python网络爬虫技术概况
1.2.1 Python中实现HTTP请求
1.2.2 Python中实现网页解析
1.2.3 Python爬虫框架
1.3 搭建开发环境
1.3.1 代码运行环境
1.3.2 开发编辑器
1.4 本章小结及要求
第2章 爬虫基础
2.1 认识HTTP请求
2.1.1 HTTP请求的含义
2.1.2 HTTP请求信息
2.2 爬虫基础——Requests库入门
2.2.1 Requests库的安装
2.2.2 Requests库的请求方法
2.2.3 Requests库的响应对象
2.2.4 响应状态码
2.2.5 定制请求头部
2.2.6 重定向与超时
2.2.7 传递URL参数
2.3 爬虫基础——Urllib库基础
2.3.1 Urllib库简介
2.3.2 发送GET请求
2.3.3 模拟浏览器发送GET请求
2.3.4 POST发送一个请求
2.3.5 URL解析
2.4 本章小结及要求
第3章 网页解析基础
3.1 网页解析概述
3.1.1 常用网页解析工具
3.1.2 HTML源码简介
3.2 XPath语法基础
3.2.1 Lxml库的安装
3.2.2 XPath语法基础——通过路径查找元素
3.2.3 通过属性查找元素
3.2.4 提取属性值
3.2.5 XPath的高级用法
3.3 抓取百度首页实例
3.4 Beautiful Soup库和正则表达式
3.4.1 Beautiful Soup简介
3.4.2 Beautiful Soup基本用法
3.4.3 Beautiful Soup标准选择器
3.4.4 正则表达式
3.5 本章小结及要求
第4章 基础爬虫实例
4.1 Q房网爬虫实例
4.1.1 网站页面分析
4.1.2 编写Q房网二手房房源爬虫代码
4.1.3 保存爬取到的信息
4.2 多层页面的爬取
4.2.1 爬取详情页面分析
4.2.2 编写爬取详情页面的代码
4.3 下载房源图片和实现多线程爬虫
4.3.1 下载房源图片
4.3.2 实现简单多线程爬虫
4.4 本章小结及要求
第5章 Requests模拟登录
5.1 使用Cookies登录网站
5.1.1 网站的保持登录机制
5.1.2 登录豆瓣网站
5.2 模拟登录网站
5.2.1 豆瓣网站的登录分析
5.2.2 Requests会话对象
5.2.3 编写Requests登录豆瓣网站的代码
5.3 验证码的处理
5.3.1 带验证码的网站登录分析
5.3.2 验证码的识别和处理
5.3.3 编写带验证码的豆瓣网站登录代码
5.4 本章小结及要求
第6章 认识和应对反爬虫
6.1 常用的网站反爬虫策略及应对措施
6.1.1 常用的网站反爬虫策略
6.1.2 应对网站反爬虫的措施
6.2 使用IP代理的方法
6.2.1 Requests中使用代理IP
6.2.2 获取免费代理IP
6.3 使用IP代理爬取微信文章
6.3.1 分析微信文章的搜索页面及其URL的构造特点
6.3.2 编写爬虫代码
6.4 本章小结及要求
第7章 动态网页的抓取
7.1 动态网页及其爬取方法
7.1.1 动态网页的含义
7.1.2 动态网页的爬取办法
7.2 动态网页的爬取技巧
7.2.1 链家经纪人页面分析
7.2.2 链家经纪人爬虫实现
7.3 Selenium库的安装与使用
7.3.1 Selenium库的安装
7.3.2 chromedriver的安装和使用
7.3.3 Selenium的简单使用
7.4 爬取新浪微博网站
7.4.1 新浪微博网站爬取分析
7.4.2 新浪微博网站爬虫实现
7.4.3 爬虫的简单去重
7.4.4 使用Chrome浏览器的headless模式
7.5 本章小结及要求
第8章 动态网页与应对反爬虫综合实例
8.1 拉勾网网站分析
8.1.1 拉勾网网站页面初步分析
8.1.2 解析json数据和招聘岗位详情页分析
8.2 拉勾网爬虫实现
8.2.1 拉勾网爬虫的初步实现
8.2.2 拉勾网爬虫的进一步完善
8.3 探索拉勾网反爬虫机制
8.4 本章小结及要求
第9章 Scrapy爬虫框架基础
9.1 Scrapy爬虫框架简介与安装
9.1.1 Scrapy爬虫框架简介
9.1.2 Scrapy爬虫框架的安装
9.2 Scrapy目录结构和简单爬虫实例
9.2.1 Scrapy目录结构
9.2.2 百度爬虫实现
9.2.3 Scrapy选择器
9.3 Scrapy命令行工具、选择器、数据容器
9.3.1 Scrapy常用命令行工具
9.3.2 Scrapy选择器高级应用
9.3.3 Scrapy数据容器
9.4 本章小结及要求
第10章 BasicSpider类和图片下载
10.1 BasicSpider类
10.1.1 Scrapy的爬虫类和模板
10.1.2 BasicSpider类简介
10.2 爬取我爱我家二手房房源数据
10.2.1 我爱我家网站分析
10.2.2 我爱我家爬虫项目实现
10.2.3 数据的快捷输出
10.3 图片下载和翻页的另一种方法
10.3.1 Scrapy图片下载简介
10.3.2 我爱我家房源图片下载
10.3.3 翻页的另一种方法
10.4 本章小结及要求
第11章 CrawlSpider类和Scrapy框架概览
11.1 CrawlSpider类简介
11.2 房天下二手房房源爬虫
11.2.1 房天下网站分析
11.2.2 房天下二手房房源爬虫实现
11.3 Scrapy架构
11.3.1 Scrapy架构概览
11.3.2 Scrapy中的数据流
11.4 本章小结及要求
第12章 Scrapy应对反爬虫策略
12.1 常用的反爬虫设置
12.2 下载器中间件
12.2.1 下载器中间件简介
12.2.2 激活下载器中间件
12.2.3 编写下载器中间件
12.3 设置随机用户代理和IP代理
12.3.1 设置随机用户代理
12.3.2 设置随机IP代理
12.4 本章小结及要求
第13章 登录网站和提交数据
13.1 Cookies登录网站的高级技巧
13.1.1 Request对象
13.1.2 利用Cookies登录网站的技巧
13.2 使用FormRequest向网站提交数据
13.2.1 FormRequest类
13.2.2 爬取Q房网二手房房源
13.3 Scrapy登录网站的高级技巧
13.3.1 FormRequest.from_response()方法
13.3.2 利用Scrapy登录网站的技巧
13.4 本章小结及要求
第14章 存储数据到数据库
14.1 MongoDB的安装与使用
14.1.1 Scrapy存储数据与MongoDB简介
14.1.2 MongoDB的安装
14.1.3 MongoDB的配置与启动
14.1.4 MongoDB的可视化管理
14.2 爬取链家经纪人成交数据
14.2.1 链家移动页面分析
14.2.2 定义Items、编写spider
14.3 设置链家网爬虫pipeline
14.3.1 在Python中操作MongoDB
14.3.2 配置pipeline
14.3.3 在settings中启用pipeline
14.4 存储数据到MySQL
14.4.1 使用pymysql操作MySQL数据库
14.4.2 把链家经纪人成交数据存储到MySQL数据库
14.5 本章小结及要求
第15章 分布式爬虫与爬虫部署
15.1 分布式爬虫原理与Redis的安装
15.1.1 Scrapy分布式爬虫原理
15.1.2 Redis的安装
15.2 scrapy_redis实现分布式爬虫
15.2.1 scrapy_redis库
15.2.2 分布式爬虫的部署和存储
15.3 使用Scrapyd部署爬虫
15.3.1 Scrapyd简介和安装
15.3.2 使用scrapyd-client部署爬虫
15.4 Scrapy爬虫去重
15.4.1 Scrapy去重方案
15.4.2 Bloom Filter过滤
15.5 本章小结及要求
第16章 项目实战——知乎用户爬虫及数据分析
16.1 知乎用户爬虫——知乎网站分析
16.1.1 知乎网站初步分析
16.1.2 知乎网站进一步分析
16.2 知乎爬虫的实现
16.2.1 编写知乎爬虫代码
16.2.2 使用MongoDB和scrapy_redis搭建分布式爬虫
16.3 爬虫数据分析
16.3.1 爬虫数据分析工具
16.3.2 知乎用户数据加载
16.3.3 爬虫数据简单分析
16.4 本章小结及要求
更新时间:2020-10-13 17:54:03