网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Python网络爬虫案例实战/清华开发者书库
分类
作者
出版社 清华大学出版社
下载
简介
内容推荐
《Python网络爬虫案例实战》介绍如何利用Python开发网络爬虫,实用性较强。《Python网络爬虫案例实战》以案例项目为驱动,由浅入深地讲解爬虫开发中所需要的知识和技能。从静态网站到动态网站,从单机爬虫到分布式爬虫,既包含基础知识点,又讲解了关键问题和重难点问题,包含从入门到进阶的所有知识。《Python网络爬虫案例实战》主要包括爬虫网络概述、Web前端、静态网络抓取、动态网页抓取、解析网页、Python并发、数据库、反爬虫、乱码问题、登录与验证码、采集服务器、基础爬虫、App爬取、分布式爬虫、爬虫的综合实战等内容。
《Python网络爬虫案例实战》适合Python初学者,也适合研究Python的广大科研人员、学者、工程技术人员。
目录
第1章 爬虫网络概述
1.1 HTTP基本原理
1.1.1 URL和URL
1.1.2 超文本
1.1.3 HTTP和HTTPS
1.1.4 HTTP请求过程
1.1.5 请求
1.1.6 响应
1.2 网页基础
1.2.1 网页的组成
1.2.2 节点树及节点间的关系
1.2.3 选择器
1.3 网络爬虫合法性
1.3.1 Robots协议
1.3.2 网络爬虫的约束
1.4 网络爬虫技术
1.4.1 网络爬虫的概述
1.4.2 网络爬虫原理
1.4.3 网络爬虫系统的工作原理
1.4.4 Python爬虫的架构
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.1 Python软件概述
2.2 Python的安装
2.2.1 在Linux系统中搭建Python环境
2.2.2 在Windows系统中搭建Python环境
2.2.3 使用pip安装第三方库
2.3 Python的入门
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.7 Web前端
2.8 习题
第3章 静态网页爬取
3.1 Requests的安装
3.2 获取响应内容
3.3 JSON数据库
3.3.1 JSON的使用
3.3.2 爬取抽屉网信息
3.4 传递URL参数
3.5 获取响应内容
3.6 获取网页编码
3.7 定制请求头
3.8 发送POST请求
3.9 设置超时
3.10 代理访问
3.11 自定义请求头部
3.12 Requests爬虫实践
3.12.1 状态码521网页的爬取
3.12.2 TOP250电影数据
3.13 习题
第4章 动态网页爬取
4.1 动态爬取淘宝网实例
4.2 什么是Ajax
4.2.1 Ajax分析
4.2.2 Ajax结果提取
4.2.3 Ajax爬取今日头条街拍美图
4.3 解析真实地址爬取
4.4 selenium爬取动态网页
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.4 Requests爬取猫眼电影排行
5.3 BeautifulSoup解析网页
5.4 PyQuery解析库
5.4.1 使用PyQuery
5.4.2 PyQuery爬取煎蛋网商品图片
5.5 lxml解析网页
5.5.1 使用lxml
5.5.2 文件读取
5.5.3 XPath使用
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.5 yieldfrom获取协程的返回值
6.5.6 协程案例分析
6.6 分布式进程案例分析
6.7 网络编程
6.7.1 TCP编程
6.7.2 UDP编程
6.8 习题
第7章 Python数据库存储
7.1 几种保存方法
7.1.1 Open函数保存
7.1.2 pandas包保存
7.1.3 CSV模块保存
7.1.4 numpy包保存
7.2 JSON文件存储
7.2.1 对象和数组
7.2.2 读取JSON
7.2.3 读JSON文件
7.2.4 输出JSON
7.3 存储到MongoDB数据库
7.3.1 MongoDB的特点
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.2 Python的字符编码
9.3 解决中文编码问题
9.4 网页使用gzip压缩
9.5 Python读写文件中出现乱码
9.6 Matplotlib中文乱码问题
9.7 习题
第10章 Python登录
序言
前言
人类社会已经进入大数据时代,大数据深刻
改变着人们的工作和生活。随着互联网、移动互
联网社交网络等的迅猛发展,各种数量庞大、种
类繁多、随时随地产生和更新的大数据,蕴含着
前所未有的社会价值和商业价值。对大数据的获
取、处理和分析,以及基于大数据的智能应用,
已成为提高未来竞争力的关键要素。但如何获取
这些宝贵数据呢?网络爬虫就是一种高效的信息
采集技术,利用它可以快速、准确地采集人们想
要的各种数据资源。因此,可以说,网络爬虫技
术已成为大数据时代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资源信息、创建“云起书院”爬虫以及使用
代理爬取微信公众号文章等内容。
由于时间仓促,加之作者水平有限,错误和
疏漏之处在所难免。在此,诚恳地期望得到各领
域的专家和广大读者的批评指正,请发送邮件到
workemail6@163.com。本书提供的程序代码、
习题答案等资料,请扫描下方二维码或者在清华
大学出版社官方网站本书页面下载。
程序代码
习题答案
编者
2020年10月
导语
(1)以案例项目为主线讲述Python爬虫开发中所需的知识和技能
(2)具有超强的实用性,项目随着图书内容的推进不断趋于工程化
(3)书中给出了80多个实例让读者理解概念、原理和算法
精彩页
第3章
CHAPTER 3
静态网页爬取
在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为“静态网页”。静态网页是相对于动态网页而言的,是指没有后台数据库、不含程序和不可交互的网页。静态网页的更新相对比较麻烦,适用于一般更新较少的展示型网站。容易让人产生误解的是静态页面都是HTML这类页面,实际上静态也不是完全静态,它也可以出现各种动态的效果,如GIF格式的动画、Flash、滚动字幕等。
在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的HTML代码中。相对而言,使用AJAX动态加载网络的数据不一定会出现在HTML代码中,这就给爬虫增加了困难。
在静态网页中,有一个强大的Requests库能够让我们方便地发送HTTP请求,这个库功能完善,而且操作非常简单。
3.1Requests的安装
在Windows系统下,Requests库可以通过pip安装。打开cmd或terminal,输入:
pip install requests
即可完成安装,可以输入 import requests 命令来试试是否安装成功,如图31所示即显示安装成功。
图31成功安装Requests
在Requests中,最常用的功能就是获取某个网页内容。现在使用Requests获取个人博客主页的内容。
>>> import requests
>>> r = requests.get('http://www.zhidaow.com')# 发送请求
>>> r.status_code# 返回码
200
>>> r.headers['content-type'] # 返回头部信息
'text/html; charset=utf-8'
>>> r.encoding # 编码信息
'utf-8'
>>> r.text #内容部分(PS,由于编码问题,建议这里使用r.content)
'\n\n\n \n