为你推荐
推荐序一
推荐序二
前言一
动其心者,当具有大本大源
数据共享
自强不息
前言二
第1章 网络爬虫入门
1.1 为什么要学网络爬虫
1.1.1 网络爬虫能带来什么好处
1.1.2 能从网络上爬取什么数据
1.1.3 应不应该学爬虫
1.2 网络爬虫是否合法
1.2.1 Robots协议
1.2.2 网络爬虫的约束
1.3 网络爬虫的基本议题
1.3.1 Python爬虫的流程
1.3.2 三个流程的技术实现
1.获取网页
2.解析网页
3.存储数据
第2章 编写第一个网络爬虫
2.1 搭建Python平台
2.1.1 Python的安装
2.1.2 使用pip安装第三方库
2.1.3 使用编译器Jupyter编程
2.2 Python使用入门
2.2.1 基本命令
2.2.2 数据类型
1.字符串(string)
2.数字(Number)
3.列表(list)
4.字典(Dictionaries)
2.2.3 条件语句和循环语句
2.2.4 函数
2.2.5 面向对象编程
1.封装
2.继承
2.3 编写第一个简单的爬虫
2.3.1 第一步:获取页面
2.3.2 第二步:提取需要的数据
2.3.3 第三步:存储数据
2.4 Python实践:基础巩固
2.4.1 Python基础试题
2.4.2 参考答案
2.4.3 自我实践题
第3章 静态网页抓取
3.1 安装Requests
3.2 获取响应内容
3.3 定制Requests
3.3.1 传递URL参数
3.3.2 定制请求头
3.3.3 发送POST请求
3.3.4 超时
3.4 Requests爬虫实践:TOP250电影数据
3.4.1 网站分析
3.4.2 项目实践
3.4.3 自我实践题
第4章 动态网页抓取
4.1 动态抓取的实例
4.2 解析真实地址抓取
4.3 通过Selenium模拟浏览器抓取
4.3.1 Selenium的安装与基本介绍
4.3.2 Selenium的实践案例
4.3.3 Selenium获取文章的所有评论
4.3.4 Selenium的高级操作
4.4 Selenium爬虫实践:深圳短租数据
4.4.1 网站分析
4.4.2 项目实践
4.4.3 自我实践题
第5章 解析网页
5.1 使用正则表达式解析网页
5.1.1 re.match方法
5.1.2 re.search方法
5.1.3 re.findall方法
5.2 使用BeautifulSoup解析网页
5.2.1 BeautifulSoup的安装
5.2.2 使用BeautifulSoup获取博客标题
5.2.3 BeautifulSoup的其他功能
1.遍历文档树
2.搜索文档树
3.CSS选择器
5.3 使用lxml解析网页
5.3.1 lxml的安装
5.3.2 使用lxml获取博客标题
5.3.3 XPath的选取方法
5.4 总结
5.5 BeautifulSoup爬虫实践:房屋价格数据
5.5.1 网站分析
5.5.2 项目实践
5.5.3 自我实践题
第6章 数据存储
6.1 基本存储:存储至TXT或CSV
6.1.1 把数据存储至TXT
6.1.2 把数据存储至CSV
6.2 存储至MySQL数据库
6.2.1 下载安装MySQL
6.2.2 MySQL的基本操作
1.创建数据库
2.创建数据表
3.在数据表中插入数据
4.从数据表中提取数据
5.删除数据
6.修改数据
6.2.3 Python操作MySQL数据库
6.3 存储至MongoDB数据库
6.3.1 下载安装MongoDB
6.3.2 MongoDB的基本概念
6.3.3 Python操作MongoDB数据库
6.3.4 RoboMongo的安装与使用
6.4 总结
6.5 MongoDB爬虫实践:虎扑论坛
6.5.1 网站分析
6.5.2 项目实践
6.5.3 自我实践题
第7章 提升爬虫的速度
7.1 并发和并行,同步和异步
7.1.1 并发和并行
7.1.2 同步和异步
7.2 多线程爬虫
7.2.1 简单单线程爬虫
7.2.2 学习Python多线程
7.2.3 简单的多线程爬虫
7.2.4 使用Queue的多线程爬虫
7.3 多进程爬虫
7.3.1 使用multiprocessing的多进程爬虫
7.3.2 使用Pool+Queue的多进程爬虫
7.4 多协程爬虫
7.5 总结
7.5.1 回顾多线程、多进程、多协程
7.5.2 性能对比
第8章 反爬虫问题
8.1 为什么会被反爬虫
8.2 反爬虫的方式有哪些
8.2.1 不返回网页
8.2.2 返回非目标网页
8.2.3 获取数据变难
8.3 如何“反反爬虫”
8.3.1 修改请求头
8.3.2 修改爬虫的间隔时间
8.3.3 使用代理
8.4 总结
第9章 解决中文乱码
9.1 什么是字符编码
9.2 Python的字符编码
encode和decode
9.3 解决中文编码问题
9.3.1 问题1:获取网站的中文显示乱码
9.3.2 问题2:非法字符抛出异常
9.3.3 问题3:网页使用gzip压缩
9.3.4 问题4:读写文件的中文乱码
9.4 总结
第10章 登录与验证码处理
10.1 处理登录表单
10.1.1 处理登录表单
10.1.2 处理cookies,让网页记住你的登录
10.1.3 完整的登录代码
10.2 验证码的处理
10.2.1 如何使用验证码验证
10.2.2 人工方法处理验证码
10.2.3 OCR处理验证码
10.3 总结
第11章 服务器采集
11.1 为什么使用服务器采集
11.1.1 大规模爬虫的需要
11.1.2 防止IP地址被封杀
11.2 使用动态IP拨号服务器
11.2.1 购买拨号服务器
11.2.2 登录服务器
11.2.3 使用Python更换IP
11.2.4 结合爬虫和更换IP功能
11.3 使用Tor代理服务器
11.3.1 Tor的安装
11.3.2 Tor的使用
第12章 分布式爬虫
12.1 安装Redis
12.2 修改Redis配置
12.2.1 修改Redis密码
12.2.2 让Redis服务器被远程访问
12.2.3 使用Redis Desktop Manager管理
12.3 Redis分布式爬虫实践
12.3.1 安装Redis库
12.3.2 加入任务队列
12.3.3 读取任务队列并下载图片
12.3.4 分布式爬虫代码
12.4 总结
第13章 爬虫实践一:维基百科
13.1 项目描述
13.1.1 项目目标
13.1.2 项目描述
13.1.3 深度优先和广度优先
13.2 网站分析
13.3 项目实施:深度优先的递归爬虫
13.4 项目进阶:广度优先的多线程爬虫
13.5 总结
第14章 爬虫实践二:知乎Live
14.1 项目描述
14.2 网站分析
14.3 项目实施
14.3.1 获取所有Live
14.3.2 获取Live的听众
14.4 总结
第15章 爬虫实践三:百度地图API
15.1 项目描述
15.2 获取API秘钥
15.3 项目实施
15.3.1 获取所有拥有公园的城市
15.3.2 获取所有城市的公园数据
15.3.3 获取所有公园的详细信息
15.4 总结
第16章 爬虫实践四:餐厅点评
16.1 项目描述
16.2 网站分析
16.3 项目实施
16.3.1 获取深圳的餐厅列表
16.3.2 获取餐厅的详细信息
16.4 总结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜