𝔖 Scriptorium
✦   LIBER   ✦

📁

Python网络爬虫从入门到实践

✍ Scribed by 庄培杰


Publisher
电子工业出版社
Year
2019
Tongue
Chinese
Leaves
312
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


本书讲解了如何使用 Python 编写网络爬虫,涵盖爬虫的概念、Web 基础、Chrome、Charles 和 Packet
Capture 抓包、urllib、Requests 请求库、lxml、Beautiful Soup、正则表达式解析数据、CSV、Excel、
MySQL、Redis、MongoDB 保存数据、反爬虫策略应对、爬虫框架 Scrapy 的使用与部署,以及应用
案例。
本书结构清晰、内容精练,代码示例典型实用,附带实践过程中遇到问题的解决方案,非常适合 Python
初学者和进阶读者阅读。

✦ Table of Contents


扉页
版权页
前 言
目 录
第1章 PYTHON爬虫概念与WEB基础
1.1 爬虫概念
1.1.1 什么是爬虫
1.1.2 爬虫使用场景的引入
1.1.3 爬虫的组成部分
1.1.4 模拟请求
1.1.5 数据解析
1.1.6 数据保存
1.1.7 爬虫的学习路线
1.2 HTTP简述
1.2.1 简述一次网络请求过程
1.2.2 URI和URL
1.2.3 HTTP请求报文
1.2.4 HTTP响应报文
1.3 网页的组成
1.3.1 HTML简介
1.3.2 CSS选择器简介
1.3.3 JavaScript简介
第2章 PYTHON爬虫基本库的使用
2.1 Chrome抓包详解
2.1.1 Controls
2.1.2 Filter
2.1.3 Request Table
2.2 urllib库详解
2.2.1 发送请求
2.2.2 抓取二进制文件
2.2.3 模拟GET和POST请求
2.2.4 修改请求头
2.2.5 设置连接超时
2.2.6 延迟提交数据
2.2.7 设置代理
2.2.8 Cookie
2.2.9 urllib.parse模块
2.2.10 urllib.error异常处理模块
2.2.11 urllib.robotparser模块
2.3 用lxml库解析网页节点
2.3.1 安装库
2.3.2 XPath语法速成
2.4 实战:爬取小说《三国演义》
第3章 PYTHON爬虫抓包与数据解析
3.1 抓包进阶
3.1.1 HTTPS介绍
3.1.2 HTTPS的工作流程
3.1.3 Charles抓包
3.1.4 Packet Capture抓包
3.2 Requests HTTP请求库
3.2.1 Requests库简介
3.2.2 Requests HTTP基本请求
3.2.3 Requests 请求常用设置
3.2.4 Requests 处理返回结果
3.2.5 Requests 处理Cookie
3.2.6 Requests重定向与请求历史
3.2.7 Requests 错误与异常处理
3.2.8 Requests Session会话对象
3.2.9 Requests SSL证书验证
3.3 实战:爬取微信文章中的图片、音频和视频
3.3.1 爬取标题
3.3.2 爬取图片
3.3.3 爬取音频
3.3.4 爬取视频
3.3.5 代码整理
3.4 Beautiful Soup解析库
3.4.1 Beautiful Soup简介
3.4.2 Beautiful Soup对象实例化
3.4.3 Beautiful Soup的四大对象
3.4.4 Beautiful Soup的各种节点
3.4.5 Beautiful Soup文档树搜索
3.4.6 Beautiful Soup 使用CSS选择器
3.5 实战:爬取壁纸站点的壁纸
3.6 正则表达式
3.6.1 re模块
3.6.2 正则规则详解
3.6.3 正则练习
3.7 实战:爬取市级编码列表
3.7.1 获取所有市级的跳转链接列表
3.7.2 解析表格获得所有市级天气链接
3.7.3 提取市级编码
3.7.4 整合调整代码
第4章 用CSV和EXCEL存储数据
4.1 用CSV文件存储数据
4.1.1 CSV写入
4.1.2 CSV读取
4.2 实战:爬取星座运势
4.3 用Excel文件存储数据
4.3.1 Excel写入
4.3.2 Excel读取
4.4 实战:爬取某音乐平台排行榜
第5章 用数据库存储数据
5.1 MySQL数据库
5.1.1 安装MySQL
5.1.2 在Windows环境下安装MySQL
5.1.3 在Windows环境下配置MYSQL_HOME环境变量
5.1.4 在Windows环境下设置MySQL登录密码
5.1.5 在Windows环境下启动或关闭MySQL服务
5.1.6 Mac环境
5.1.7 Ubuntu环境
5.1.8 MySQL的基本操作
5.1.9 MySQL数据库语法速成
5.1.10 Python连接MySQL数据库
5.1.11 MySQL特殊符号和表情问题
5.1.12 实战:抓取某技术网站数据
5.2 数据库可视化工具DataGrip
5.2.1 建立数据库关联
5.2.2 编写SQL语句
5.2.3 常见问题:连接远程主机
5.3 Redis数据库
5.3.1 安装Redis
5.3.2 redis-py库的安装
5.3.3 redis-py基本操作示例
5.3.4 实战:爬取视频弹幕并保存到Redis
5.4 MongoDB数据库
5.4.1 安装MongoDB
5.4.2 安装PyMongo库
5.4.3 PyMongo基本操作示例
5.4.4 实战:爬取某电商网站关键字搜索结果并保存到MongoDB
第6章 PYTHON应对反爬虫策略
6.1 反爬虫概述
6.1.1 为什么会出现反爬虫
6.1.2 常见的爬虫与反爬虫大战
6.2 反爬虫策略
6.2.1 User-Agent限制
6.2.2 302重定向
6.2.3 IP限制
6.2.4 什么是网络代理
6.2.5 如何获取代理IP
6.2.6 ADSL拨号代理
6.2.7 Squid 配置代理缓存服务器
6.2.8 TinyProxy配置代理缓存服务器
6.2.9 Cookie限制
6.3 JavaScript反爬虫策略
6.3.1 Ajax动态加载数据
6.3.2 实战:爬取某素材网内容分析
6.3.3 数据请求分析
6.3.4 编写代码
6.4 Selenium模拟浏览器操作
6.4.1 Selenium简介
6.4.2 安装Selenium
6.4.3 Selenium常用函数
6.5 实战:爬取某网站的特定图
6.6 PhantomJS
6.6.1 在Windows上安装PhantomJS
6.6.2 在Mac上安装PhantomJS
6.6.3 在Ubuntu上安装PhantomJS
6.6.4 关于PhantomJS的重要说明
6.7 常见验证码策略
6.7.1 图片验证码
6.7.2 实战:实现图片验证码自动登录
6.7.3 实战:实现滑动验证码自动登录
第7章 PYTHON爬虫框架SCRAPY(上)
7.1 Scrapy框架简介与安装
7.1.1 Scrapy相关信息
7.1.2 Scrapy的安装
7.2 实战:爬取某网站每日壁纸
7.2.1 抓取目标分析
7.2.2 创建爬虫脚本
7.2.3 编写爬虫脚本
7.2.4 运行爬虫脚本
7.2.5 解析数据
7.3 Scrapy架构简介
7.3.1 Scrapy架构图
7.3.2 各个模块间的协作流程
7.3.3 协作流程拟人化对话版
7.4 Spider详解
7.4.1 Spider的主要属性和函数
7.4.2 Spider运行流程
7.5 Request类和Response类
7.5.1 Request详解
7.5.2 Response类常用参数、方法与子类
7.5.3 选择器
7.5.4 Scrapy Shell
7.6 Item详解
7.7 Item Pipeline详解
7.7.1 自定义Item Pipeline类
7.7.2 启用Item Pipeline
7.8 实战:完善爬取每日壁纸的脚本
7.8.1 定义BingItem
7.8.2 使用ImagesPipeline
7.8.3 修改Spider代码
7.8.4 运行爬虫脚本
7.9 设置请求头
7.9.1 构造Request时传入
7.9.2 修改settings.py文件
7.9.3 为爬虫添加custom_settings字段
7.10 下载中间件详解
7.10.1 自定义Downloader Middleware类
7.10.2 启用自定义的代理下载中间件
7.11 实战:爬取某站点绘画频道的图片
7.11.1 分析爬取的站点
7.11.2 新建项目与明确爬取目标
7.11.3 创建爬虫爬取网页
7.11.4 设置代理
7.11.5 解析数据
7.11.6 存储数据
7.11.7 完善代码
第8章 PYTHON爬虫框架SCRAPY(下)
8.1 Scrapy对接Selenium
8.1.1 如何对接
8.1.2 对接示例:爬取某网站首页文章
8.2 实战:用Scrapy实现一个简单的代理池
8.2.1 代理池的设计
8.2.2 创建项目
8.2.3 编写获取IP的爬虫
8.2.4 编写检测IP的爬虫
8.2.5 编写调度程序
8.2.6 编写获取代理IP的接口
8.2.7 使用代理
8.3 用Scrapyrt调度Scrapy
8.3.1 相关文档与安装Scrapyrt
8.3.2 Scrapyrt GET请求相关参数
8.3.3 Scrapyrt POST请求相关参数
8.4 用Docker部署Scrapy
8.4.1 Docker简介
8.4.2 下载并安装Docker
8.4.3 创建Dockerfile
8.4.4 构建Docker镜像
8.4.5 把生成的Docker镜像推送到Docker Hub
8.4.6 在云服务器上运行Docker镜像
第9章 数据分析案例:PYTHON岗位行情
9.1 数据爬取
9.2 NumPy库和pandas库
9.2.1 ndarray数组
9.2.2 ndarray数组的常用操作
9.2.3 pandas库
9.3 用Matplotlib实现数据可视化
9.3.1 Matplotlib中文乱码问题
9.3.2 Matplotlib绘制显示不全
9.3.3 用Matplotlib生成图表并进行分析
9.4 用Wordcloud库进行词云绘制
9.4.1 Wordcloud简介
9.4.2 Wordcloud构造函数与常用方法
9.4.3 词云绘制
9.5 小结
第10章 数据分析案例:某婚恋网站交友情况分析
10.1 数据爬取
10.2 安装Jupyter Notebook
10.3 安装pyecharts
10.4 数据分析
10.4.1 读取CSV文件里的数据
10.4.2 分析身高
10.4.3 分析学历
10.4.4 分析年龄
10.4.5 分析城市
10.4.6 分析交友宣言
10.5 小结


📜 SIMILAR VOLUMES


Python编程:从入门到实践
✍ Eric Matthes 📂 Library 📅 2016 🏛 人民邮电出版社 🌐 Chinese

本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:首部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。

Python编程: 从入门到实践
✍ 埃里克·马瑟斯 📂 Library 📅 2016 🏛 人民邮电出版社 🌐 Chinese

<p>本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。</p>

Python学习从入门到实践
✍ 王学颖、刘立群、刘冰、司雨昌 📂 Library 📅 2017 🏛 清华大学出版社 🌐 Chinese

本书是一本适合Python初学者学习程序设计与开发的基础教程,从应用的角度介绍了Python的发展、基本语句与语法、数据与运算、程序基本结构、函数与模块、面向对象和文件处理。本书既注重知识的系统性,又兼顾了内容的实用性,既保持了结构的严谨完整,又体现了语言的清晰简洁。本书设置了丰富的教学案例,帮助读者用最简单直观的方式理解知识。同时,本书选取了Python常用的第三方库函数的应用实例,内容涉及图形绘制、中文分词、图形用户界面、网络爬虫、数据库访问等,引导读者进行深入的学习和研究。本书内容具有知识完整、通俗易懂、叙述简练的特点,适合各层次读者使用,既可以作为高校计算机课程的教材,也可以供初学者或

Python网络爬虫实战
✍ 吕云翔; 张扬 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

<p>本书介绍如何利用Python进行网络爬虫程序的开发,从Python语言的基本特性入手,详细介绍了Python爬虫开发的相关知识,涉及HTTP、HTML、JavaScript、正则表达式、自然语言处理、数据科学等内容。全书共分为14章,包括Python基础知识、网站分析、网页解析、Python文件的读写、Python与数据库、AJAX技术、模拟登录、文本与数据分析、网站测试、Scrapy爬虫框架、爬虫性能等多个主题,内容覆盖网络抓取与爬虫编程中的主要知识和技术,在重视理论基础的前提下从实用性和丰富度出发,结合实例演示了编写爬虫程序的核心流程。 本书适合Python语言初学者、网络爬虫技术爱

实战Python网络爬虫
✍ 黄永祥 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

<p>本书从原理到实践,循序渐进地讲述了使用Python开发网络爬虫的核心技术。全书从逻辑上可分为基础篇、实战篇和爬虫框架篇三部分。基础篇主要介绍了编写网络爬虫所需的基础知识,包括网站分析、数据抓取、数据清洗和数据入库。网站分析讲述如何使用Chrome和Fiddler抓包工具对网站做全面分析;数据抓取介绍了Python爬虫模块Urllib和Requests的基础知识;数据清洗主要介绍字符串操作、正则和BeautifulSoup的使用;数据入库讲述了MySQL和MongoDB的操作,通过ORM框架SQLAlchemy实现数据持久化,进行企业级开发。实战篇深入讲解了分布式爬虫、爬虫软件的开发、12