第1章 Python环境配置 1
1.1 Python简介 1
1.1.1 Python的历史由来 1
1.1.2 Python的现状 2
1.1.3 Python的应用 2
1.2 Python开发环境配置 4
1.2.1 Windows下安装Python 4
1.2.2 Windows下安装配置pip 9
1.2.3 Linux下安装Python 10
1.2.4 Linux下安装配置pip 12
1.2.5 永远的开始:hello world 15
1.3 本章小结 20
第2章 Python基础 21
2.1 Python变量类型 21
2.1.1 数字 21
2.1.2 字符串 24
2.1.3 列表 28
2.1.4 元组 34
2.1.5 字典 36
2.2 Python语句 40
2.2.1 条件语句——if else 40
2.2.2 有限循环——for 41
2.2.3 无限循环——while 43
2.2.4 中断循环——continue、break 45
2.2.5 异常处理——try except 47
2.2.6 导入模块——import 49
2.3 函数和类 53
2.3.1 函数 53
2.3.2 类 59
2.4 Python代码格式 65
2.4.1 Python代码缩进 65
2.4.2 Python命名规则 66
2.4.3 Python代码注释 68
2.5 Python调试 70
2.5.1 Windows下IDLE调试 70
2.5.2 Linux下pdb调试 73
2.6 本章小结 77
第3章 简单的Python脚本 78
3.1 九九乘法表 78
3.1.1 Project分析 78
3.1.2 Project实施 78
3.2 斐波那契数列 80
3.2.1 Project分析 80
3.2.2 Project实施 80
3.3 概率计算 81
3.3.1 Project分析 81
3.3.2 Project实施 82
3.4 读写文件 83
3.4.1 Project分析 83
3.4.2 project实施 84
3.5 本章小结 85
第4章 Python爬虫常用模块 86
4.1 Python标准库之urllib2模块 86
4.1.1 urllib2请求返回网页 86
4.1.2 urllib2使用代理访问网页 88
4.1.3 urllib2修改header 91
4.2 Python标准库——logging模块 95
4.2.1 简述logging模块 95
4.2.2 自定义模块myLog 99
4.3 其他有用模块 102
4.3.1 re模块(正则表达式操作) 102
4.3.2 sys模块(系统参数获取) 105
4.3.3 time模块(获取时间信息) 106
4.4 本章小结 110
第5章 Scrapy爬虫框架 111
5.1 安装Scrapy 111
5.1.1 Windows下安装Scrapy环境 111
5.1.2 Linux下安装Scrapy 112
5.1.3 vim编辑器 113
5.2 Scrapy选择器XPath和CSS 114
5.2.1 XPath选择器 114
5.2.2 CSS选择器 117
5.2.3 其他选择器 118
5.3 Scrapy爬虫实战一:今日影视 118
5.3.1 创建Scrapy项目 119
5.3.2 Scrapy文件介绍 120
5.3.3 Scrapy爬虫编写 123
5.4 Scrapy爬虫实战二:天气预报 129
5.4.1 项目准备 130
5.4.2 创建编辑Scrapy爬虫 131
5.4.3 数据存储到json 138
5.4.4 数据存储到MySQL 140
5.5 Scrapy爬虫实战三:获取代理 146
5.5.1 项目准备 146
5.5.2 创建编辑Scrapy爬虫 147
5.5.3 多个Spider 153
5.5.4 处理Spider数据 157
5.6 Scrapy爬虫实战四:糗事百科 159
5.6.1 目标分析 159
5.6.2 创建编辑Scrapy爬虫 160
5.6.3 Scrapy项目中间件——添加headers 161
5.6.4 Scrapy项目中间件——添加proxy 165
5.7 scrapy爬虫实战五:爬虫攻防 167
5.7.1 创建一般爬虫 167
5.7.2 封锁间隔时间破解 171
5.7.3 封锁Cookies破解 171
5.7.4 封锁user-agent破解 171
5.7.5 封锁IP破解 174
5.8 本章小结 177
第6章 Beautiful Soup爬虫 178
6.1 安装Beautiful Soup环境 178
6.1.1 Windows下安装Beautiful Soup 178
6.1.2 Linux下安装Beautiful Soup 179
6.1.3 最强大的IDE——Eclipse 179
6.2 BeautifulSoup解析器 188
6.2.1 bs4解析器选择 188
6.2.2 lxml解析器安装 189
6.2.3 使用bs4过滤器 190
6.3 bs4爬虫实战一:获取百度贴吧内容 196
6.3.1 目标分析 196
6.3.2 项目实施 197
6.3.3 代码分析 205
6.3.4 Eclipse调试 206
6.4 bs4爬虫实战二:获取双色球中奖信息 207
6.4.1 目标分析 207
6.4.2 项目实施 210
6.4.3 保存结果到Excel 214
6.4.4 代码分析 221
6.5 bs4爬虫实战三:获取起点小说信息 221
6.5.1 目标分析 222
6.5.2 项目实施 223
6.5.3 保存结果到MySQL 226
6.5.4 代码分析 230
6.6 bs4爬虫实战四:获取电影信息 230
6.6.1 目标分析 230
6.6.2 项目实施 232
6.6.3 bs4反爬虫 235
6.6.4 代码分析 237
6.7 bs4爬虫实战五:获取音悦台榜单 238
6.7.1 目标分析 238
6.7.2 项目实施 239
6.7.3 代码分析 244
6.8 本章小结 245
第7章 Mechanize模拟浏览器 246
7.1 安装Mechanize模块 246
7.1.1 Windows下安装Mechanize 246
7.1.2 Linux下安装Mechanize 247
7.2 Mechanize测试 248
7.2.1 Mechanize百度 248
7.2.2 Mechanize光猫F460 251
7.3 Mechanize实站一:获取Modem信息 254
7.3.1 获取F460数据 254
7.3.2 代码分析 257
7.4 Mechanize实战二:获取音悦台公告 258
7.4.1 登录原理 258
7.4.2 获取Cookie的方法 259
7.4.3 获取Cookie 262
7.4.4 使用Cookie登录获取数据 266
7.5 本章总结 270
第8章 Selenium模拟浏览器 271
8.1 安装Selenium模块 271
8.1.1 Windows下安装Selenium模块 271
8.1.2 Linux下安装Selenium模块 272
8.2 浏览器选择 272
8.2.1 Webdriver支持列表 272
8.2.2 Windows下安装PhantomJS 273
8.2.3 Linux下安装PhantomJS 276
8.3 Selenium&PhantomJS抓取数据 277
8.3.1 获取百度搜索结果 277
8.3.2 获取搜索结果 280
8.3.3 获取有效数据位置 282
8.3.4 从位置中获取有效数据 284
8.4 Selenium&PhantomJS实战一:获取代理 285
8.4.1 准备环境 285
8.4.2 爬虫代码 287
8.4.3 代码解释 289
8.5 Selenium&PhantomJS实战二:漫画爬虫 289
8.5.1 准备环境 290
8.5.2 爬虫代码 291
8.5.3 代码解释 294
8.6 本章总结 294