Python网络爬虫从入门到精通

作者明日科技
出版社清华大学出版社
详情

封面页

书名页

版权页

内容简介

前言

第1篇 基础知识

第1章 初识网络爬虫

1.1 网络爬虫概述

1.2 网络爬虫的分类

1.3 网络爬虫的基本原理

1.4 搭建开发环境

1.4.1 安装Anaconda

1.4.2 PyCharm的下载与安装

1.4.3 配置PyCharm

1.4.4 测试PyCharm

1.5 小结

第2章 了解Web前端

2.1 HTTP基本原理

2.1.1 HTTP协议

2.1.2 HTTP与Web服务器

2.1.3 浏览器中的请求和响应

2.2 HTML语言

2.2.1 什么是HTML

2.2.2 标签、元素、结构概述

2.2.3 HTML的基本标签

2.3 CSS层叠样式表

2.3.1 CSS概述

2.3.2 属性选择器

2.3.3 类和ID选择器

2.4 JavaScript动态脚本语言

2.5 小结

第3章 请求模块urllib

3.1 urllib简介

3.2 使用urlopen()方法发送请求

3.2.1 发送GET请求

3.2.2 发送POST请求

3.2.3 设置网络超时

3.3 复杂的网络请求

3.3.1 设置请求头

3.3.2 Cookies的获取与设置

3.3.3 设置代理IP

3.4 异常处理

3.5 解析链接

3.5.1 拆分URL

3.5.2 组合URL

3.5.3 连接URL

3.5.4 URL的编码与解码

3.5.5 URL参数的转换

3.6 小结

第4章 请求模块urllib3

4.1 urllib3简介

4.2 发送网络请求

4.2.1 GET请求

4.2.2 POST请求

4.2.3 重试请求

4.2.4 处理响应内容

4.3 复杂请求的发送

4.3.1 设置请求头

4.3.2 设置超时

4.3.3 设置代理

4.4 上传文件

4.5 小结

第5章 请求模块requests

5.1 请求方式

5.1.1 GET请求

5.1.2 对响应结果进行utf-8编码

5.1.3 爬取二进制数据

5.1.4 GET(带参)请求

5.1.5 POST请求

5.2 复杂的网络请求

5.2.1 添加请求头headers

5.2.2 验证Cookies

5.2.3 会话请求

5.2.4 验证请求

5.2.5 网络超时与异常

5.2.6 上传文件

5.3 代理服务

5.3.1 代理的应用

5.3.2 获取免费的代理IP

5.3.3 检测代理IP是否有效

5.4 小结

第6章 高级网络请求模块

6.1 Requests-Cache的安装与测试

6.2 缓存的应用

6.3 强大的Requests-HTML模块

6.3.1 使用Requests-HTML实现网络请求

6.3.2 数据的提取

6.3.3 获取动态加载的数据

6.4 小结

第2篇 核心技术

第7章 正则表达式

7.1 正则表达式基础

7.1.1 行定位符

7.1.2 元字符

7.1.3 限定符

7.1.4 字符类

7.1.5 排除字符

7.1.6 选择字符

7.1.7 转义字符

7.1.8 分组

7.1.9 在Python中使用正则表达式语法

7.2 使用match()进行匹配

7.2.1 匹配是否以指定字符串开头

7.2.2 匹配任意开头的字符串

7.2.3 匹配多个字符串

7.2.4 获取部分内容

7.2.5 匹配指定首尾的字符串

7.3 使用search()进行匹配

7.3.1 获取第一匹配值

7.3.2 可选匹配

7.3.3 匹配字符串边界

7.4 使用findall()进行匹配

7.4.1 匹配所有指定字符开头字符串

7.4.2 贪婪匹配

7.4.3 非贪婪匹配

7.5 字符串处理

7.5.1 替换字符串

7.5.2 分割字符串

7.6 案例:爬取编程e学网视频

7.6.1 查找视频页面

7.6.2 分析视频地址

7.6.3 实现视频下载

7.7 小结

第8章 XPath解析

8.1 XPath概述

8.2 XPath的解析操作

8.2.1 解析HTML

8.2.2 获取所有节点

8.2.3 获取子节点

8.2.4 获取父节点

8.2.5 获取文本

8.2.6 属性匹配

8.2.7 获取属性

8.2.8 按序获取

8.2.9 节点轴获取

8.3 案例:爬取豆瓣电影Top 250

8.3.1 分析请求地址

8.3.2 分析信息位置

8.3.3 爬虫代码的实现

8.4 小结

第9章 解析数据的BeautifulSoup模块

9.1 使用BeautifulSoup解析数据

9.1.1 BeautifulSoup的安装

9.1.2 解析器

9.1.3 BeautifulSoup的简单应用

9.2 获取节点内容

9.2.1 获取节点对应的代码

9.2.2 获取节点属性

9.2.3 获取节点包含的文本内容

9.2.4 嵌套获取节点内容

9.2.5 关联获取

9.3 方法获取内容

9.3.1 find_all()获取所有符合条件的内容

9.3.2 find()获取第一个匹配的节点内容

9.3.3 其他方法

9.4 CSS选择器

9.5 小结

第10章 爬取动态渲染的信息

10.1 Ajax数据的爬取

10.1.1 分析请求地址

10.1.2 提取视频标题与视频地址

10.1.3 视频的批量下载

10.2 使用Selenium爬取动态加载的信息

10.2.1 安装Selenium模块

10.2.2 下载浏览器驱动

10.2.3 Selenium模块的使用

10.2.4 Selenium模块的常用方法

10.3 Splash的爬虫应用

10.3.1 搭建Splash环境(Windows 10系统)

10.3.2 搭建Splash环境(Windows 7系统)

10.3.3 Splash中的HTTP API

10.3.4 执行lua自定义脚本

10.4 小结

第11章 多线程与多进程爬虫

11.1 什么是线程

11.2 创建线程

11.2.1 使用threading模块创建线程

11.2.2 使用Thread子类创建线程

11.3 线程间通信

11.3.1 什么是互斥锁

11.3.2 使用互斥锁

11.3.3 使用队列在线程间通信

11.4 什么是进程

11.5 创建进程的常用方式

11.5.1 使用multiprocessing模块创建进程

11.5.2 使用Process子类创建进程

11.5.3 使用进程池Pool创建进程

11.6 进程间通信

11.6.1 队列简介

11.6.2 多进程队列的使用

11.6.3 使用队列在进程间通信

11.7 多进程爬虫

11.8 小结

第12章 数据处理

12.1 初识Pandas

12.2 Series对象

12.2.1 图解Series对象

12.2.2 创建一个Series对象

12.2.3 手动设置Series索引

12.2.4 Series的索引

12.2.5 获取Series索引和值

12.3 DataFrame对象

12.3.1 图解DataFrame对象

12.3.2 创建一个DataFrame对象

12.3.3 DataFrame的重要属性和函数

12.4 数据的增、删、改、查

12.4.1 增加数据

12.4.2 删除数据

12.4.3 修改数据

12.4.4 查询数据

12.5 数据清洗

12.5.1 NaN数据处理

12.5.2 去除重复数据

12.6 数据转换

12.6.1 DataFrame转换为字典

12.6.2 DataFrame转换为列表

12.6.3 DataFrame转换为元组

12.7 导入外部数据

12.7.1 导入.xls或.xlsx文件

12.7.2 导入.csv文件

12.7.3 导入.txt文本文件

12.7.4 导入HTML网页

12.8 数据排序与排名

12.8.1 数据排序

12.8.2 数据排名

12.9 简单的数据计算

12.9.1 求和(sum函数)

12.9.2 求均值(mean函数)

12.9.3 求最大值(max函数)

12.9.4 求最小值(min函数)

12.10 数据分组统计

12.10.1 分组统计groupby函数

12.10.2 对分组数据进行迭代

12.10.3 通过字典和Series对象进行分组统计

12.11 日期数据处理

12.11.1 DataFrame的日期数据转换

12.11.2 dt对象的使用

12.11.3 获取日期区间的数据

12.11.4 按不同时期统计并显示数据

12.12 小结

第13章 数据存储

13.1 文件的存取

13.1.1 基本文件操作TXT

13.1.2 存储CSV文件

13.1.3 存储Excel文件

13.2 SQLite数据库

13.2.1 创建数据库文件

13.2.2 操作SQLite

13.3 MySQL数据库

13.3.1 下载与安装MySQL

13.3.2 安装PyMySQL

13.3.3 连接数据库

13.3.4 创建数据表

13.3.5 操作MySQL数据表

13.4 小结

第3篇 高级应用

第14章 数据可视化

14.1 Matplotlib概述

14.1.1 Matplotlib简介

14.1.2 安装Matplotlib

14.2 图表的常用设置

14.2.1 基本绘图plot函数

14.2.2 设置画布

14.2.3 设置坐标轴

14.2.4 添加文本标签

14.2.5 设置标题和图例

14.2.6 添加注释

14.3 常用图表的绘制

14.3.1 绘制折线图

14.3.2 绘制柱形图

14.3.3 绘制饼形图

14.4 案例:可视化二手房数据查询系统

14.5 小结

第15章 App抓包工具

15.1 Charles工具的下载与安装

15.2 SSL证书的安装

15.2.1 安装PC端证书

15.2.2 设置代理

15.2.3 配置网络

15.2.4 安装手机端证书

15.3 小结

第16章 识别验证码

16.1 字符验证码

16.1.1 搭建OCR环境

16.1.2 下载验证码图片

16.1.3 识别验证码

16.2 第三方验证码识别

16.3 滑动拼图验证码

16.4 小结

第17章 Scrapy爬虫框架

17.1 了解Scrapy爬虫框架

17.2 搭建Scrapy爬虫框架

17.2.1 使用Anaconda安装Scrapy

17.2.2 Windows系统下配置Scrapy

17.3 Scrapy的基本应用

17.3.1 创建Scrapy项目

17.3.2 创建爬虫

17.3.3 获取数据

17.3.4 将爬取的数据保存为多种格式的文件

17.4 编写Item Pipeline

17.4.1 项目管道的核心方法

17.4.2 将信息存储至数据库

17.5 自定义中间件

17.5.1 设置随机请求头

17.5.2 设置Cookies

17.5.3 设置代理ip

17.6 文件下载

17.7 小结

第18章 Scrapy_Redis分布式爬虫

18.1 安装Redis数据库

18.2 Scrapy-Redis模块

18.3 分布式爬取中文日报新闻数据

18.3.1 分析网页地址

18.3.2 创建MySQL数据表

18.3.3 创建Scrapy项目

18.3.4 启动分布式爬虫

18.4 自定义分布式爬虫

18.5 小结

第4篇 项目实战

第19章 数据侦探

19.1 需求分析

19.2 系统设计

19.2.1 系统功能结构

19.2.2 系统业务流程

19.2.3 系统预览

19.3 系统开发必备

19.3.1 开发工具准备

19.3.2 文件夹组织结构

19.4 主窗体的UI设计

19.4.1 主窗体的布局

19.4.2 主窗体显示效果

19.5 设计数据库表结构

19.6 爬取数据

19.6.1 获取京东商品热卖排行信息

19.6.2 获取价格信息

19.6.3 获取评价信息

19.6.4 定义数据库操作文件

19.7 主窗体的数据展示

19.7.1 显示前10名热卖榜图文信息

19.7.2 显示关注商品列表

19.7.3 显示商品分类比例饼图

19.8 外设产品热卖榜

19.9 商品预警

19.9.1 关注商品中、差评预警

19.9.2 关注商品价格变化预警

19.9.3 更新关注商品信息

19.10 系统功能

19.11 小结

附录CD

作者介绍
内容简介《Python网络爬虫从门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python实现网络爬虫发应该掌握的技术。全书共分19章,内容包括初识网络爬虫、了解Web前端、请求模块urllib、请求模块urllib3、请求模块requests、高级网络请求模块、正则表达式、XPath解析、解析数据的BeautifulSoup、爬取动态渲染的信息、多线程与多程爬虫、数据处理、数据存储、数据可视化、App抓包工具、识别验证码、Scrapy爬虫框架、Scrapy_Redis分布式爬虫、数据侦探。书中所有知识都结合具体实例行介绍,涉及的程序代码给出了详细的注释,读者可轻松领会网络爬虫程序发的精髓,快速提高发技能。lt;br/->【推荐语】lt;br/->《Python网络爬虫从门到精通》从零基础始,提供了Python网络爬虫发从门到编程高手所必需的各类知识。无论有没有Python基础,通过本书你都能*终成为网络爬虫高手。 (1)主流技术,全面解析。本书涵盖网页抓取、App抓包、识别验证码、Scrapy爬虫框架,以及Scrapy_Redis分布式爬虫等技术,一本书教你掌握网络爬虫领域的主流核心技术。 (2)由浅深,循序渐。本书引领读者按照基础知识→核心技术→高级应用→项目实战循序渐地学习,符合认知规律。 (3)边学边练,学以致用。200个应用示例 1个行业项目案例 136集Python零基础扫盲课,边学边练,在实践中提升技能。 (4)精彩栏目,贴心提醒。本书设置了很多“注意”“说明”“技巧”等小栏目,让读者在学习的过程中更轻松地理解相关知识及概念,更快地掌握数据分析技能和应用技巧。 (5)在线解答,高效学习。在线答疑QQ及技术支持网站,不定期行在线直播课程。lt;br/->【作者】lt;br/->明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件发、教育培训以及软件发教育资源整合的高科技公司,其编写的教材非常注重选取软件发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。lt;br/->
内容试读

推荐

车牌查询
桂ICP备20004708号-3