新書推薦:
《
英雄之旅:把人生活成一个好故事
》
售價:NT$
398.0
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
|
編輯推薦: |
1. 零基础入门Python网络爬虫。 2. 提供全套视频讲解爬虫技术。 3. 使用爬取链家网、豆瓣网、Q房网、拉勾网、新浪微博、我爱我家、房天下、知乎等多个实用案例。
|
內容簡介: |
本书主要内容包括:网络爬虫概述、 requests库入门、xapth语法详解、认识和应对反爬虫、模拟登录和验证码的处理、动态页面的分析方法、scrapy框架基础、 应对反爬虫策略、scrapy数据存储、提交数据和保持登录、crawlspider模板、图片下载和文件下载、分布式爬虫、增量式爬虫、
|
關於作者: |
齐文光 原中国网通山东分公司数据中心工程师 爱好python编程,善于编写爬虫和利用python进行数据分析和可视化,对于机器学习和深度学习也有深入研究。
|
目錄:
|
第1章网络爬虫概述1
1.1 认识网络爬虫 1
1.1.1 网络爬虫的含义 1
1.1.2 网络爬虫的主要类型 2
1.1.3 简单网络爬虫的架构 3
1.1.4 网络爬虫的应用场景 3
1.2 Python网络爬虫技术概况 4
1.2.1 Python中实现HTTP请求 4
1.2.2 Python中实现网页解析 5
1.2.3 Python爬虫框架 6
1.3 搭建开发环境 7
1.3.1 代码运行环境 7
1.3.2 开发编辑器 8
1.4 本章小结及要求 11
第2章 爬虫基础 12
2.1 认识HTTP请求 12
2.1.1 HTTP请求的含义 12
2.1.2 HTTP请求信息 12
2.2 爬虫基础Requests库入门 15
2.2.1 Requests库的安装 15
2.2.2 Requests库的请求方法 16
2.2.3 Requests库的响应对象 17
2.2.4 响应状态码 17
2.2.5 定制请求头部 18
2.2.6 重定向与超时 18
2.2.7 传递URL参数 19
2.3 爬虫基础Urllib库基础 20
2.3.1 Urllib 库简介 20
2.3.2 发送GET请求 20
2.3.3 模拟浏览器发送GET
请求 21
2.3.4 POST发送一个请求 22
2.3.5 URL解析 23
2.4 本章小结及要求 24
第3章 网页解析基础 25
3.1 网页解析概述 25
3.1.1 常用网页解析工具 25
3.1.2 HTML源码简介 25
3.2 XPath语法基础 27
3.2.1 Lxml库的安装 27
3.2.2 XPath语法基础
通过路径查找元素 28
3.2.3 通过属性查找元素 30
3.2.4 提取属性值 31
3.2.5 XPath的高级用法 31
3.3 抓取百度首页实例 33
3.4 Beautiful Soup库和正则表达式 37
3.4.1 Beautiful Soup简介 38
3.4.2 Beautiful Soup基本用法 39
3.4.3 Beautiful Soup标准选择器 40
3.4.4 正则表达式 41
3.5 本章小结及要求 45
第4章 基础爬虫实例 46
4.1 Q房网爬虫实例 46
4.1.1 网站页面分析 46
4.1.2 编写Q房网二手房房源爬虫
代码 47
4.1.3 保存爬取到的信息 50
4.2 多层页面的爬取 51
4.2.1 爬取详情页面分析 51
4.2.2 编写爬取详情页面的代码 52
4.3 下载房源图片和实现多线程
爬虫 55
4.3.1 下载房源图片 55
4.3.2 实现简单多线程爬虫 56
4.4 本章小结及要求 59
第5章 Requests模拟登录 60
5.1 使用Cookies登录网站 60
5.1.1 网站的保持登录机制 60
5.1.2 登录豆瓣网站 61
5.2 模拟登录网站 63
5.2.1 豆瓣网站的登录分析 63
5.2.2 Requests会话对象 66
5.2.3 编写Requests登录豆瓣
网站的代码 67
5.3 验证码的处理 68
5.3.1 带验证码的网站登录分析 68
5.3.2 验证码的识别和处理 70
5.3.3 编写带验证码的豆瓣网站
登录代码 71
5.4 本章小结及要求 73
第6章 认识和应对反爬虫 74
6.1 常用的网站反爬虫策略及应对
措施 74
6.1.1 常用的网站反爬虫策略 74
6.1.2 应对网站反爬虫的措施 75
6.2 使用IP代理的方法 76
6.2.1 Requests中使用代理IP 76
6.2.2 获取免费代理IP 77
6.3 使用IP代理爬取微信文章 78
6.3.1 分析微信文章的搜索页面
及其URL的构造特点 78
6.3.2 编写爬虫代码 80
6.4 本章小结及要求 82
第7章 动态网页的抓取 84
7.1 动态网页及其爬取方法 84
7.1.1 动态网页的含义 84
7.1.2 动态网页的爬取办法 85
7.2 动态网页的爬取技巧 86
7.2.1 链家经纪人页面分析 86
7.2.2 链家经纪人爬虫实现 88
7.3 Selenium库的安装与使用 90
7.3.1 Selenium库的安装 90
7.3.2 chromedriver的安装和使用 91
7.3.3 Selenium的简单使用 92
7.4 爬取新浪微博网站 95
7.4.1 新浪微博网站爬取分析 95
7.4.2 新浪微博网站爬虫实现 95
7.4.3 爬虫的简单去重 98
7.4.4 使用Chrome浏览器的
headless模式 100
7.5 本章小结及要求 101
第8章 动态网页与应对反爬虫
综合实例 102
8.1 拉勾网网站分析 102
8.1.1 拉勾网网站页面初步分析 102
8.1.2 解析json数据和招聘岗位
详情页分析 105
8.2 拉勾网爬虫实现 107
8.2.1 拉勾网爬虫的初步实现 107
8.2.2 拉勾网爬虫的进一步
完善 109
8.3 探索拉勾网反爬虫机制 110
8.4 本章小结及要求 113
第9章 Scrapy爬虫框架基础 114
9.1 Scrapy爬虫框架简介与安装 114
9.1.1 Scrapy爬虫框架简介 114
9.1.2 Scrapy爬虫框架的安装 114
9.2 Scrapy目录结构和简单爬虫
实例 116
9.2.1 Scrapy目录结构 116
9.2.2 百度爬虫实现 119
9.2.3 Scrapy选择器 120
9.3 Scrapy命令行工具、选择器、
数据容器 122
9.3.1 Scrapy常用命令行工具 122
9.3.2 Scrapy选择器高级应用 124
9.3.3 Scrapy数据容器 125
9.4 本章小结及要求 126
第10章 BasicSpider类和
图片下载 127
10.1 BasicSpider类 127
10.1.1 Scrapy的爬虫类和模板 127
10.1.2 BasicSpider类简介 128
10.2 爬取我爱我家二手房房源
数据 129
10.2.1 我爱我家网站分析 129
10.2.2 我爱我家爬虫项目实现 131
10.2.3 数据的快捷输出 133
10.3 图片下载和翻页的另一种
方法 134
10.3.1 Scrapy图片下载简介 134
10.3.2 我爱我家房源图片下载 134
10.3.3 翻页的另一种方法 135
10.4 本章小结及要求 137
第11章 CrawlSpider类和Scrapy
框架概览 138
11.1 CrawlSpider类简介 138
11.2 房天下二手房房源爬虫 139
11.2.1 房天下网站分析 139
11.2.2 房天下二手房房源爬虫
实现 140
11.3 Scrapy架构 143
11.3.1 Scrapy架构概览 143
11.3.2 Scrapy中的数据流 144
11.4 本章小结及要求 145
第12章 Scrapy应对反爬虫
策略 146
12.1 常用的反爬虫设置 146
12.2 下载器中间件 148
12.2.1 下载器中间件简介 148
12.2.2 激活下载器中间件 149
12.2.3 编写下载器中间件 150
12.3 设置随机用户代理和IP代理 150
12.3.1 设置随机用户代理 150
12.3.2 设置随机IP代理 152
12.4 本章小结及要求 153
第13章 登录网站和提交数据 154
13.1 Cookies登录网站的高级技巧 154
13.1.1 Request对象 154
13.1.2 利用Cookies登录网站的
技巧 155
13.2 使用FormRequest向网站提交
数据 157
13.2.1 FormRequest类 157
13.2.2 爬取Q房网二手房房源 158
13.3 Scrapy登录网站的高级技巧 159
13.3.1 FormRequest.from_response
方法 159
13.3.2 利用Scrapy登录网站的
技巧 160
13.4 本章小结及要求 161
第14章 存储数据到数据库 162
14.1 MongoDB的安装与使用 162
14.1.1 Scrapy存储数据与
MongoDB简介 162
14.1.2 MongoDB的安装 162
14.1.3 MongoDB的配置与启动 163
14.1.4 MongoDB的可视化管理 164
14.2 爬取链家经纪人成交数据 165
14.2.1 链家移动页面分析 165
14.2.2 定义Items、编写spider 168
14.3 设置链家网爬虫pipeline 171
14.3.1 在Python中操作
MongoDB 171
14.3.2 配置pipeline 174
14.3.3 在settings中启用pipeline 175
14.4 存储数据到MySQL 175
14.4.1 使用pymysql操作MySQL
数据库 175
14.4.2 把链家经纪人成交数据存储
到MySQL数据库 176
14.5 本章小结及要求 177
第15章 分布式爬虫与爬虫部署 178
15.1 分布式爬虫原理与Redis的
安装 178
15.1.1 Scrapy分布式爬虫原理 178
15.1.2 Redis的安装 179
15.2 scrapy_redis实现分布式爬虫 181
15.2.1 scrapy_redis库 181
15.2.2 分布式爬虫的部署和存储 182
15.3 使用Scrapyd部署爬虫 183
15.3.1 Scrapyd简介和安装 183
15.3.2 使用scrapyd-client部署
爬虫 185
15.4 Scrapy爬虫去重 187
15.4.1 Scrapy去重方案 187
15.4.2 Bloom Filter过滤 188
15.5 本章小结及要求 189
第16章 项目实战知乎用户
爬虫及数据分析 190
16.1 知乎用户爬虫知乎网站
分析 190
16.1.1 知乎网站初步分析 190
16.1.2 知乎网站进一步分析 192
16.2 知乎爬虫的实现 194
16.2.1 编写知乎爬虫代码 194
16.2.2 使用MongoDB和scrapy_redis
搭建分布式爬虫 196
16.3 爬虫数据分析 197
16.3.1 爬虫数据分析工具 197
16.3.2 知乎用户数据加载 199
16.3.3 爬虫数据简单分析 200
16.4 本章小结及要求 206
|
|