Python网络爬虫技术与实战

Python网络爬虫技术与实战

编辑推荐

涵盖网络爬虫的核心概念、算法和技术实现,内容系统,案例丰富。

内容简介

本书是一本系统、全面地介绍Python网络爬虫的实战宝典。作者融合自己丰富的工程实践经验,紧密结合演示应用案例,内容覆盖了几乎所有网络爬虫涉及的核心技术。在内容编排上,一步步地剖析算法背后的概念与原理,提供大量简洁的代码实现,助你从零基础开始编程实现深度学习算法。

全书按照学习爬虫所涉及的核心技术从易到难,再到应用的顺序分为14章。

第1章介绍Python的安装配置和基础语法;第2章介绍爬虫类型、抓取策略以及网络基础知识;第3章介绍Python常用库;第4章介绍正则表达式的语法、匹配规则;第5章讲解PIL库、Tesseract库和TensorFlow库的语法、类型和识别方法;第6章介绍抓包利器Fiddler;第7章介绍数据存储;第8章介绍Scrapy爬虫框架;第9章介绍多线程爬虫;第10章介绍动态网页爬虫;第11章介绍分布式爬虫;第12章介绍电商网站商品信息爬虫项目;第13章介绍生活娱乐点评类信息爬虫;第14章介绍图片信息类爬虫项目。

作者简介

章节目录

版权信息

前言

第1章 Python环境搭建及基础学习

1.1 Python 3.6的安装与配置

1.1.1 Windows下的安装

1.1.2 Linux下的安装

1.1.3 macOS下的安装

1.2 IDE工具:PyCharm的安装

1.3 基础语法

1.3.1 第一个Python程序

1.3.2 Python命名规范

1.3.3 行和缩进

1.3.4 注释和续行

1.3.5 Python输出

1.4 字符串

1.4.1 字符串运算符

1.4.2 字符串内置函数

1.5 数据结构

1.5.1 列表

1.5.2 元组

1.5.3 集合

1.5.4 字典

1.6 控制语句

1.6.1 条件表达式

1.6.2 选择结构

1.6.3 循环结构

1.7 函数、模块和包

1.7.1 函数

1.7.2 模块

1.7.3 包

1.8 文件的读写操作

1.8.1 文件读写步骤与打开模式

1.8.2 文件的基本操作

1.8.3 文件写入操作

1.9 面向对象

1.9.1 类和对象

1.9.2 封装性

1.9.3 继承性

1.9.4 多态性

1.10 本章小结

练习题

第2章 爬虫原理和网络基础

2.1 爬虫是什么

2.2 爬虫的意义

2.3 爬虫的原理

2.4 爬虫技术的类型

2.4.1 聚焦爬虫技术

2.4.2 通用爬虫技术

2.4.3 增量爬虫技术

2.4.4 深层网络爬虫技术

2.5 爬虫抓取策略

2.5.1 深度优先遍历策略

2.5.2 广度优先遍历策略

2.5.3 Partial PageRank策略

2.5.4 大站优先策略

2.5.5 反向链接数策略

2.5.6 OPIC策略

2.6 反爬虫和反反爬虫

2.6.1 反爬虫

2.6.2 反反爬虫

2.7 网络基础

2.7.1 网络体系结构

2.7.2 网络协议

2.7.3 Socket编程

2.8 本章小结

练习题

第3章 Python常用库

3.1 Python库的介绍

3.1.1 常用标准库

3.1.2 安装使用第三方库

3.2 urllib库

3.2.1 urlopen()函数用法

3.2.2 urlretrieve()函数用法

3.2.3 URL编码和URL解码

3.2.4 urlparse()和urlsplit()函数用法

3.3 request库

3.3.1 request库的基本使用

3.3.2 request库的高级用法

3.4 lxml库

3.4.1 lxml库的安装和使用

3.4.2 XPath介绍

3.4.3 XPath语法

3.4.4 lxml和XPath的结合使用

3.5 Beautiful Soup库

3.5.1 Beautiful Soup库的安装和使用

3.5.2 提取数据

3.5.3 CSS选择器

3.6 实战案例

3.6.1 使用Beautiful Soup解析网页

3.6.2 微信公众号爬虫

3.6.3 爬取豆瓣读书TOP500

3.6.4 使用urllib库爬取百度贴吧

3.7 本章小结

练习题

第4章 正则表达式

4.1 概念介绍

4.2 正则表达式语法

4.2.1 正则模式的字符

4.2.2 运算符优先级

4.3 匹配规则

4.3.1 单字符匹配规则

4.3.2 多字符匹配规则

4.3.3 边界匹配

4.3.4 分组匹配

4.4 re模块常用函数

4.4.1 re.match函数

4.4.2 re.search函数

4.4.3 re.compile函数

4.4.4 re.sub函数

4.4.5 re.findall函数

4.4.6 re.finditer函数

4.4.7 re.split函数

4.5 本章小结

练习题

第5章 验证码

5.1 PIL库

5.1.1 PIL库的安装

5.1.2 PIL库的常用函数

5.1.3 PIL库的应用

5.1.4 应用PIL到实际开发

5.2 Tesseract库

5.2.1 Tesseract库的安装

5.2.2 Tesseract库的使用

5.2.3 Tesseract库的识别训练

5.3 TensorFlow库

5.3.1 TensorFlow库的安装

5.3.2 TensorFlow基本操作

5.3.3 TensorFlow基础架构

5.3.4 TensorFlow创建线性回归模型

5.3.5 TensorFlow识别知乎验证码

5.4 4种验证码的解决思路

5.5 OCR处理验证码

5.6 实战案例

5.7 本章小结

练习题

第6章 抓包利器Fiddler

6.1 Fiddler简介

6.2 Fiddler的安装和配置

6.2.1 Fiddler的安装

6.2.2 Fiddler的配置

6.3 Fiddler捕获会话

6.4 QuickExec命令行的使用

6.5 Fiddler断点功能

6.6 Fiddler的实用工具

6.7 实战案例

6.7.1 使用Fiddler抓取数据并分析

6.7.2 使用Fiddler抓取HTTPS流量

6.7.3 使用Fiddler抓取手机应用

6.8 本章小结

练习题

第7章 数据存储

7.1 数据的基本存储

7.1.1 数据存储至TXT

7.1.2 数据存储至CSV

7.1.3 数据存储至JSON

7.2 数据存储至MySQL数据库

7.2.1 配置MySQL服务

7.2.2 安装PyMySQL

7.2.3 创建示例项目

7.2.4 PyMySQL基本操作

7.3 数据存储至MongoDB数据库

7.4 数据存储至XML

7.5 常见数据存储方式的比较

7.6 本章小结

练习题

第8章 Scrapy爬虫框架

8.1 Scrapy框架介绍

8.2 Scrapy框架详解

8.2.1 框架内组件及作用

8.2.2 Scrapy运行流程

8.2.3 数据流向

8.3 Scrapy框架中的Selector

8.4 Beautiful Soup库的使用

8.4.1 简单示例

8.4.2 四大对象种类

8.4.3 遍历文档树

8.4.4 搜索文档树

8.4.5 CSS选择器

8.5 CrawlSpider的使用

8.5.1 Spider的简单用法

8.5.2 CrawlSpider概述

8.5.3 使用CrawlSpider获取rules

8.5.4 使用CrawlSpider进行模拟登录

8.6 Scrapy Shell的使用

8.6.1 启动Scrapy Shell

8.6.2 功能函数

8.6.3 Scrapy对象

8.6.4 Scrapy Shell示例

8.7 Scrapyrt的使用

8.7.1 GET请求

8.7.2 POST请求

8.8 Scrapy对接Selenium

8.9 实战案例

8.9.1 Scrapy知乎信息爬取

8.9.2 Scrapy微博信息爬取

8.9.3 Scrapy机票信息爬取

8.10 本章小结

练习题

第9章 多线程爬虫

9.1 多线程和Threading模块

9.1.1 多线程定义和特点

9.1.2 Threading模块

9.2 使用Thread类创建实例

9.2.1 可传递函数的Thread类实例

9.2.2 可调用的Thread类实例

9.2.3 派生Thread子类

9.3 多线程方法的使用

9.3.1 多线程创建

9.3.2 多线程冲突及解决

9.3.3 使用Semaphore调度线程

9.3.4 生产者-消费者模式

9.3.5 共享全局变量及锁机制

9.4 Queue线程安全队列

9.5 实战案例

9.5.1 多线程爬取糗事百科

9.5.2 多线程爬取网站图片

9.6 本章小结

练习题

第10章 动态网页爬虫

10.1 浏览器开发者工具

10.1.1 调试工具的介绍

10.1.2 调试工具的使用示例

10.2 异步加载技术

10.2.1 异步加载技术介绍

10.2.2 AJAX数据爬取

10.3 表单交互与模拟登录

10.3.1 表单交互

10.3.2 模拟登录

10.4 Selenium模拟浏览器

10.4.1 Selenium操作浏览器

10.4.2 Selenium和ChromeDriver的配合使用

10.5 实战案例

10.5.1 Selenium职位信息爬取

10.5.2 Selenium直播平台数据爬取

10.6 本章小结

练习题

第11章 分布式爬虫

11.1 分布式爬虫概述

11.1.1 主从分布式爬虫

11.1.2 对等分布式爬虫

11.2 Scrapy-redis分布式组件

11.2.1 Scrapy-redis简介

11.2.2 Scrapy-redis工作机制

11.2.3 Scrapy-redis安装配置

11.2.4 Scrapy-redis常用配置

11.2.5 Scrapy-redis键名介绍

11.2.6 Scrapy-redis简单示例

11.3 redis数据库

11.4 Scrapy-redis源码分析

11.5 通过scrapy_redis实现分布式爬虫

11.6 实战案例

11.7 本章小结

练习题

第12章 电商网站商品信息爬虫项目

12.1 商品信息爬虫功能分析

12.1.1 商品信息爬虫接口分析

12.1.2 商品信息爬虫页面分析

12.2 商品信息爬虫实现思路

12.2.1 Selenium环境配置

12.2.2 pyquery环境配置

12.3 电商网站商品信息编写实战

12.3.1 获取电商网站商品信息列表

12.3.2 电商网站商品信息列表解析

12.3.3 保存爬取的商品信息

12.3.4 电商网站商品信息的页码遍历

12.4 pyquery解析电商网站商品信息

12.4.1 pyquery调用CSS选择器

12.4.2 pyquery使用parent()获取父节点

12.4.3 pyquery遍历商品信息

12.4.4 pyquery获取商品信息内部文本

12.4.5 CSS选择器

12.5 运行代码

12.5.1 爬虫的Chrome Headless模式

12.5.2 爬虫对接Firefox

12.5.3 爬虫对接PhantomJS

12.6 本章小结

练习题

第13章 生活娱乐点评类信息爬虫项目

13.1 功能分析

13.1.1 项目描述

13.1.2 静态网页抓取

13.1.3 动态网页抓取

13.2 请求-响应关系

13.2.1 请求对象

13.2.2 请求方法

13.3 请求头和请求体

13.3.1 请求头

13.3.2 响应

13.3.3 保存响应结果

13.4 通过Selenium模拟浏览器抓取

13.4.1 Selenium的安装

13.4.2 Selenium的实践案例

13.4.3 Selenium获取文章的所有评论

13.5 实战演练Scrapy框架实例

13.5.1 编写spider

13.5.2 编写item.py

13.5.3 为items对象赋值

13.5.4 编写piplines.py

13.5.5 配置setting.py

13.5.6 完整代码及结果

13.6 调试与运行

13.7 本章小结

练习题

第14章 图片信息类爬虫项目

14.1 功能分析

14.2 实现思路

14.2.1 urllib模块的使用

14.2.2 Scrapy框架的使用

14.3 程序执行

14.4 实战演练图片验证码

14.4.1 开发环境与工具

14.4.2 Anaconda3的安装

14.4.3 问题步骤

14.4.4 解决步骤

14.4.5 图片预处理代码

14.4.6 图片切割

14.4.7 KNN训练

14.4.8 CNN加载数据

14.4.9 训练CNN模型

14.4.10 CNN模型预测

14.5 调试运行

14.6 本章小结

练习题

练习题答案

Python网络爬虫技术与实战是2021年由机械工业出版社有限公司出版,作者王健。

得书感谢您对《Python网络爬虫技术与实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
Python数据分析入门与实战 电子书

掌握数据分析技巧,运用强大的Python工具,解决工作中繁琐的数据问题。
Python算法交易实战 电子书

本书由浅入深地讲解了算法交易的相关知识。
虚拟化与网络存储技术 电子书

力求由浅入深,循序渐进。采用“任务驱动”的编写方式,以实际问题引出相关原理和概念。
Python机器学习开发实战 电子书

Python机器学习入门,以实战为重点,配有大量代码和案例,简单、快速、易学。
Python计算机视觉与深度学习实战 电子书

一本书入门计算机视觉,将深度学习理论融入视觉识别案例,搭建理论与实践的桥梁。
TensorFlow技术解析与实战 电子书

TensorFlow是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一。
API安全技术与实战 电子书

本书深度剖析了API安全漏洞、API安全设计以及API生命周期安全管理等内容。