描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302562283丛书名: 清华开发者书库.Python
(1)以案例项目为主线讲述Python爬虫开发中所需的知识和技能
(2)具有超强的实用性,项目随着图书内容的推进不断趋于工程化
(3)书中给出了80多个实例让读者理解概念、原理和算法
《Python网络爬虫案例实战》介绍如何利用Python开发网络爬虫,实用性较强。《Python网络爬虫案例实战》以案例项目为驱动,由浅入深地讲解爬虫开发中所需要的知识和技能。从静态网站到动态网站,从单机爬虫到分布式爬虫,既包含基础知识点,又讲解了关键问题和重难点问题,包含从入门到进阶的所有知识。《Python网络爬虫案例实战》主要包括爬虫网络概述、Web前端、静态网络抓取、动态网页抓取、解析网页、Python并发、数据库、反爬虫、乱码问题、登录与验证码、采集服务器、基础爬虫、App爬取、分布式爬虫、爬虫的综合实战等内容。 《Python网络爬虫案例实战》适合Python初学者,也适合研究Python的广大科研人员、学者、工程技术人员。
第1章爬虫网络概述
1.1HTTP基本原理
1.1.1URL和URL
1.1.2超文本
1.1.3HTTP和HTTPS
1.1.4HTTP请求过程
1.1.5请求
1.1.6响应
1.2网页基础
1.2.1网页的组成
1.2.2节点树及节点间的关系
1.2.3选择器
1.3网络爬虫合法性
1.3.1Robots协议
1.3.2网络爬虫的约束
1.4网络爬虫技术
1.4.1网络爬虫的概述
1.4.2网络爬虫原理
1.4.3网络爬虫系统的工作原理
1.4.4Python爬虫的架构
1.4.5爬虫对互联网进行划分
1.5爬取策略
1.6爬虫网络更新策略
1.7会话和Cookie
1.7.1静态网页和动态网页
1.7.2无状态HTTP
1.7.3常见误区
1.8代理的基本原理
1.8.1基本原理
1.8.2代理的作用
1.8.3爬虫代理
1.8.4代理分类
1.8.5常见代理设置
1.9习题
第2章Python平台及Web前端
2.1Python软件概述
2.2Python的安装
2.2.1在Linux系统中搭建Python环境
2.2.2在Windows系统中搭建Python环境
2.2.3使用pip安装第三方库
2.3Python的入门
2.3.1基本命令
2.3.2数据类型
2.4条件语句与循环语句
2.4.1条件语句
2.4.2循环语句
2.5面向对象编程
2.5.1面向对象技术简介
2.5.2类定义
2.5.3类对象
2.5.4类的方法
2.5.5继承
2.6第一个爬虫实例
2.7Web前端
2.8习题
第3章静态网页爬取
3.1Requests的安装
3.2获取响应内容
3.3JSON数据库
3.3.1JSON的使用
3.3.2爬取抽屉网信息
3.4传递URL参数
3.5获取响应内容
3.6获取网页编码
3.7定制请求头
3.8发送POST请求
3.9设置超时
3.10代理访问
3.11自定义请求头部
3.12Requests爬虫实践
3.12.1状态码521网页的爬取
3.12.2TOP250电影数据
3.13习题
第4章动态网页爬取
4.1动态爬取淘宝网实例
4.2什么是Ajax
4.2.1Ajax分析
4.2.2Ajax结果提取
4.2.3Ajax爬取今日头条街拍美图
4.3解析真实地址爬取
4.4selenium爬取动态网页
4.4.1安装selenium
4.4.2爬取百度表情包
4.5爬取去哪儿网
4.6习题
第5章解析网页
5.1获取豆瓣电影
5.2正则表达式解析网页
5.2.1字符串匹配
5.2.2起始位置匹配字符串
5.2.3所有子串匹配
5.2.4Requests爬取猫眼电影排行
5.3BeautifulSoup解析网页
5.4PyQuery解析库
5.4.1使用PyQuery
5.4.2PyQuery爬取煎蛋网商品图片
5.5lxml解析网页
5.5.1使用lxml
5.5.2文件读取
5.5.3XPath使用
5.5.4爬取LOL百度贴吧图片
5.6爬取二手房网站数据
5.7习题
第6章并发与Web
6.1并发和并行、同步和异步、阻塞与非阻塞
6.1.1并发和并行
6.1.2同步与异步
6.1.3阻塞与非阻塞
6.2线程
6.2.1线程模块
6.2.2使用Threading模块创建线程
6.2.3线程同步
6.2.4线程池在Web编程的应用
6.3队列
6.4进程
6.4.1进程与线程的历史
6.4.2进程与线程之间的关系
6.4.3进程与进程池
6.5协程
6.5.1协程的生成器的基本行为
6.5.2协程的4个状态
6.5.3终止协程和异常处理
6.5.4显式地将异常发给协程
6.5.5yield from获取协程的返回值
6.5.6协程案例分析
6.6分布式进程案例分析
6.7网络编程
6.7.1TCP编程
6.7.2UDP编程
6.8习题
第7章Python数据库存储
7.1几种保存方法
7.1.1Open函数保存
7.1.2pandas包保存
7.1.3CSV模块保存
7.1.4numpy包保存
7.2JSON文件存储
7.2.1对象和数组
7.2.2读取JSON
7.2.3读JSON文件
7.2.4输出JSON
7.3存储到MongoDB数据库
7.3.1MongoDB的特点
7.3.2下载安装MongoDB
7.3.3配置 MongoDB 服务
7.3.4创建数据库
7.4爬取虎扑论坛帖子
7.5习题
第8章Python反爬虫
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章Python中文乱码问题
9.1什么是字符编码
9.2Python的字符编码
9.3解决中文编码问题
9.4网页使用gzip压缩
9.5Python读写文件中出现乱码
9.6Matplotlib中文乱码问题
9.7习题
第10章Python登录与验证码
10.1登录表单
10.1.1处理登录表单
10.1.2处理Cookie
10.1.3完整的登录代码
10.2验证码处理
10.2.1如何使用验证码验证
10.2.2人工方法处理验证码
10.2.3OCR处理验证码
10.3极验滑动验证码的识别案例
10.4点触验证码的识别案例
10.5习题
第11章Python采集服务器
11.1使用服务器采集原因
11.1.1大规模爬虫的需要
11.1.2防止IP地址被封杀
11.2动态IP拨号服务器
11.2.1购买拨号服务器
11.2.2登录服务器
11.2.3Python更换IP
11.2.4爬虫与更换IP功能结合
11.3Tor代理服务器
11.3.1安装Tor
11.3.2使用Tor
11.3.3实现自动投票
11.4习题
第12章Python基础爬虫
12.1架构及流程
12.2URL管理器
12.3HTML下载器
12.4HTML解析器
12.5数据存储器
12.6爬虫调度器实现
12.7习题
第13章Python的App爬取
13.1Charles爬取
13.2Appium爬取
13.2.1Appium安装
13.2.2Appium的基本使用
13.3API爬取
13.4Appium爬取微信朋友圈
13.5习题
第14章Python分布式爬虫
14.1主从模式
14.1.1URL管理器
14.1.2数据存储器
14.1.3控制调度器
14.2爬虫节点
14.2.1HTML下载器
14.2.2HTML解析器
14.2.3爬虫调度器
14.3Redis
14.3.1Redis的安装
14.3.2Redis的配置
14.3.3数据类型
14.4Python与Redis
14.4.1连接方式
14.4.2连接池
14.4.3Redis的基本操作
14.4.4管道
14.4.5发布和订阅
14.5操作RabbitMQ
14.5.1安装Erlang
14.5.2安装RabbitMQ
14.6习题
第15章爬虫的综合实战
15.1Email提醒
15.2爬取mp3资源信息
15.3创建云起书院爬虫
15.4使用代理爬取微信公众号文章
参考文献
人类社会已经进入大数据时代,大数据深刻改变着人们的工作和生活。随着互联网、移动互联网社交网络等的迅猛发展,各种数量庞大、种类繁多、随时随地产生和更新的大数据,蕴含着前所未有的社会价值和商业价值。对大数据的获取、处理和分析,以及基于大数据的智能应用,已成为提高未来竞争力的关键要素。
但如何获取这些宝贵数据呢?网络爬虫就是一种高效的信息采集技术,利用它可以快速、准确地采集人们想要的各种数据资源。因此,可以说,网络爬虫技术已成为大数据时代IT从业者的必修课程。
在互联网时代,强大的爬虫技术造就了很多伟大的搜索引擎公司,使人类的搜索能力得到了巨大的延展。今天在移动互联网时代,爬虫技术仍然是支撑一些信息融合应用(如“今日头条”)的关键技术。但是,今天爬虫技术面临着更大的挑战,与互联网的共享机制不同,很多资源只有在登录之后才能访问,还采取了各种反爬虫措施,这就让爬虫不那么容易访问这些资源。网络爬虫与反爬虫措施是矛与盾的关系,网络爬虫技术就是在这种针锋相对、见招拆招的不断斗争中,逐渐完善和发展起来的。无论是产品还是研究,都需要大量的优质数据来使机器更加智能。因此,在这个时代,从业者急需一本全面介绍爬虫技术的书,因此本书就诞生了。
本书介绍了基于Python 3进行网络爬取的各项技术,如环境配置、理论基础进阶实战、分布式规模采集等,详细介绍了网络爬虫开发过程中需要了解的知识点,并通过多个案例介绍了不同场景下采用不同爬虫技术实现数据爬取的过程。
1. 本书特色
深入浅出。本书是一本适合初学者的书箱,既有对基础知识点的讲解,也涉及关键问题和重点难点的分析和解决。
图文并茂。本书每章节都是理论与实践相结合,通过文字与图片介绍完相关理论知识点后,都会通过相关实战来演示总结,产生结果,并对结果进行说明。
具有完整的源代码,应用价值高。书中所有的代码都提供了免费资源,使读者学习更方便,而且随着图书内容的推进,项目不断趋近于工程化,具有很高的应用价值和参考性。
2. 本书主要内容
全书共15章。
第1章介绍了爬虫网络的基本概述,主要包括HTTP基本原理、网页基础知识、网络爬虫合法性、网络爬虫技术等内容。
第2章介绍了Python平台及Web前端,主要包括Python软件的介绍及安装、数据类型、面向对象编程及Web前端等内容。
第3章介绍了静态网页抓取,主要包括Requests的安装、获取响应内容、JSON、传递URL参数等内容。
第4章介绍了动态网页抓取,主要包括动态的抓取实例、Ajax抓取、 Selenium抓取动态网页等内容。
第5章介绍了解析网页,主要包括正则表达式解析网页、BeautifulSoup解析网页、 lxml解析网页等内容。
第6章介绍了Python并发与Web,主要包括并发和并行、同步和异步、阻塞与非阻塞、线程、队列、进程、协程等内容。
第7章介绍了Python数据库存储,主要包括几种保存方法、JSON文件存储、存储到MongoDB数据库等内容。
第8章介绍了Python反爬虫,主要包括为什么会被反爬虫、反爬虫的方式有哪些、怎样“反反爬虫”等内容。
第9章介绍了Python中文乱码问题,主要包括什么是字符编码、Python的字符编码、解决中文编码问题等内容。
第10章介绍了Python登录与验证码,主要包括处理登录表单、验证码处理等内容。
第11章介绍了Python采集服务器,主要包括使用服务器采集原因、动态IP拨号服务器、Tor代理服务器等内容。
第12章介绍了Python基础爬虫,主要包括架构及流程、URL管理器、HTML下载器及HTML解析器等内容。
第13章介绍了Python的App爬取,主要包括Charles爬取、Appium爬取、API爬取等内容。
第14章介绍了Python分布式爬虫,主要包括主从模式、爬虫节点Redis、操作RabbitMQ等内容。
第15章介绍了爬虫的综合实战,主要包括Email提醒、爬取mp3资源信息、创建“云起书院”爬虫以及使用代理爬取微信公众号文章等内容。
由于时间仓促,加之作者水平有限,错误和疏漏之处在所难免。在此,诚恳地期望得到各领域的专家和广大读者的批评指正,请发送邮件到[email protected]。本书提供的程序代码、习题答案等资料,请扫描下方二维码或者在清华大学出版社官方网站本书页面下载。
程序代码
习题答案
编者
2020年10月
评论
还没有评论。