描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302510086
本书从Python 3.6.4*基础的部分讲起,延伸到Python*流行的应用方向之一 网络爬虫,讲解目前流行的几种Python爬虫框架,并给出详细示例,以帮助读者学习Python并开发出符合自己要求的网络爬虫。
本书共10章,涵盖的内容有Python3.6语言的基本语法、Python常用IDE的使用、Python第三方模块的导入使用、Python爬虫常用模块、Scrapy爬虫、Beautiful Soup爬虫、Mechanize模拟浏览器和Selenium模拟浏览器、Pyspider爬虫框架、爬虫与反爬虫。本书所有源代码已上传网盘供读者下载。
本书内容丰富,实例典型,实用性强。适合Python网络爬虫初学者、Python数据分析与挖掘技术初学者,以及高等院校和培训学校相关专业的师生阅读。
第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 3.6.4开发环境配置 4
1.2.1 Windows下安装Python 4
1.2.2 Windows下安装配置pip 9
1.2.3 Linux下安装Python 10
1.2.4 Linux下安装配置pip 13
1.2.5 永远的hello world 16
1.3 本章小结 21
第2章 Python基础 22
2.1 Python变量类型 22
2.1.1 数字 22
2.1.2 字符串 25
2.1.3 列表 29
2.1.4 元组 34
2.1.5 字典 37
2.2 Python语句 41
2.2.1 条件语句——if else 41
2.2.2 有限循环——for 42
2.2.3 无限循环——while 44
2.2.4 中断循环——continue、break 46
2.2.5 异常处理——try except 48
2.2.6 导入模块——import 52
2.3 函数和类 56
2.3.1 函数 56
2.3.2 类 62
2.4 Python内置函数 68
2.4.1 常用内置函数 68
2.4.2 高级内置函数 69
2.5 Python代码格式 74
2.5.1 Python代码缩进 74
2.5.2 Python命名规则 75
2.5.3 Python代码注释 76
2.6 Python调试 79
2.6.1 Windows下IDLE调试 79
2.6.2 Linux下pdb调试 82
2.7 本章小结 87
第3章 简单的Python脚本 88
3.1 九九乘法表 88
3.1.1 Project分析 88
3.1.2 Project实施 88
3.2 斐波那契数列 90
3.2.1 Project分析 90
3.2.2 Project实施 90
3.3 概率计算 91
3.3.1 Project分析 91
3.3.2 Project实施 92
3.4 读写文件 93
3.4.1 Project分析 93
3.4.2 Project实施 94
3.5 类的继承与重载 96
3.5.1 Project 1分析 96
3.5.2 Project 1实施 98
3.5.3 Project 2分析 100
3.5.4 Project 2实施 101
3.6 多线程 107
3.6.1 Project 1分析 107
3.6.2 Project 1实施 109
3.6.3 Project 2分析 112
3.6.4 Project 2实施 115
3.7 本章小结 117
第4章 Python爬虫常用模块 118
4.1 网络爬虫技术核心 118
4.1.1 网络爬虫实现原理 118
4.1.2 爬行策略 119
4.1.3 身份识别 119
4.2 Python 3标准库之urllib.request模块 120
4.2.1 urllib.request请求返回网页 120
4.2.2 urllib.request使用代理访问网页 122
4.2.3 urllib.request修改header 125
4.3 Python 3标准库之logging模块 129
4.3.1 简述logging模块 129
4.3.2 自定义模块myLog 133
4.4 re模块(正则表达式) 135
4.4.1 re模块(正则表达式操作) 136
4.4.2 re模块实战 137
4.5 其他有用模块 139
4.5.1 sys模块(系统参数获取) 139
4.5.2 time模块(获取时间信息) 141
4.6 本章小结 144
第5章 Scrapy爬虫框架 145
5.1 安装Scrapy 145
5.1.1 Windows下安装Scrapy环境 145
5.1.2 Linux下安装Scrapy 146
5.1.3 vim编辑器 147
5.2 Scrapy选择器XPath和CSS 148
5.2.1 XPath选择器 148
5.2.2 CSS选择器 151
5.2.3 其他选择器 152
5.3 Scrapy爬虫实战一:今日影视 153
5.3.1 创建Scrapy项目 153
5.3.2 Scrapy文件介绍 155
5.3.3 Scrapy爬虫编写 157
5.4 Scrapy爬虫实战二:天气预报 164
5.4.1 项目准备 165
5.4.2 创建编辑Scrapy爬虫 166
5.4.3 数据存储到json 173
5.4.4 数据存储到MySQL 175
5.5 Scrapy爬虫实战三:获取代理 182
5.5.1 项目准备 182
5.5.2 创建编辑Scrapy爬虫 183
5.5.3 多个Spider 188
5.5.4 处理Spider数据 192
5.6 Scrapy爬虫实战四:糗事百科 194
5.6.1 目标分析 195
5.6.2 创建编辑Scrapy爬虫 195
5.6.3 Scrapy项目中间件——添加headers 196
5.6.4 Scrapy项目中间件——添加proxy 200
5.7 Scrapy爬虫实战五:爬虫攻防 202
5.7.1 创建一般爬虫 202
5.7.2 封锁间隔时间破解 206
5.7.3 封锁Cookies破解 206
5.7.4 封锁User-Agent破解 207
5.7.5 封锁IP破解 212
5.8 本章小结 215
第6章 Beautiful Soup爬虫 216
6.1 安装Beautiful Soup环境 216
6.1.1 Windows下安装Beautiful Soup 216
6.1.2 Linux下安装Beautiful Soup 217
6.1.3 最强大的IDE——Eclipse 218
6.2 Beautiful Soup解析器 227
6.2.1 bs4解析器选择 227
6.2.2 lxml解析器安装 227
6.2.3 使用bs4过滤器 229
6.3 bs4爬虫实战一:获取百度贴吧内容 234
6.3.1 目标分析 234
6.3.2 项目实施 236
6.3.3 代码分析 243
6.3.4 Eclipse调试 244
6.4 bs4爬虫实战二:获取双色球中奖信息 245
6.4.1 目标分析 246
6.4.2 项目实施 248
6.4.3 保存结果到Excel 251
6.4.4 代码分析 256
6.5 bs4爬虫实战三:获取起点小说信息 257
6.5.1 目标分析 257
6.5.2 项目实施 259
6.5.3 保存结果到MySQL 261
6.5.4 代码分析 265
6.6 bs4爬虫实战四:获取电影信息 266
6.6.1 目标分析 266
6.6.2 项目实施 267
6.6.3 bs4反爬虫 270
6.6.4 代码分析 273
6.7 bs4爬虫实战五:获取音悦台榜单 273
6.7.1 目标分析 273
6.7.2 项目实施 274
6.7.3 代码分析 279
6.8 本章小结 280
第7章 Mechanize模拟浏览器 281
7.1 安装Mechanize模块 281
7.1.1 Windows下安装Mechanize 281
7.1.2 Linux下安装Mechanize 282
7.2 Mechanize 测试 283
7.2.1 Mechanize百度 283
7.2.2 Mechanize光猫F460 286
7.3 Mechanize实站一:获取Modem信息 290
7.3.1 获取F460数据 290
7.3.2 代码分析 293
7.4 Mechanize实战二:获取音悦台公告 293
7.4.1 登录原理 293
7.4.2 获取Cookie的方法 294
7.4.3 获取Cookie 298
7.4.4 使用Cookie登录获取数据 302
7.5 本章小结 305
第8章 Selenium模拟浏览器 306
8.1 安装Selenium模块 306
8.1.1 Windows下安装Selenium模块 306
8.1.2 Linux下安装Selenium模块 307
8.2 浏览器选择 307
8.2.1 Webdriver支持列表 307
8.2.2 Windows下安装PhantomJS 308
8.2.3 Linux下安装PhantomJS 310
8.3 Selenium&PhantomJS抓取数据 312
8.3.1 获取百度搜索结果 312
8.3.2 获取搜索结果 314
8.3.3 获取有效数据位置 317
8.3.4 从位置中获取有效数据 319
8.4 Selenium&PhantomJS实战一:获取代理 319
8.4.1 准备环境 320
8.4.2 爬虫代码 321
8.4.3 代码解释 324
8.5 Selenium&PhantomJS实战二:漫画爬虫 324
8.5.1 准备环境 325
8.5.2 爬虫代码 326
8.5.3 代码解释 329
8.6 本章小结 329
第9章 Pyspider爬虫框架 330
9.1 安装Pyspider 330
9.1.1 Windows下安装Pyspider 330
9.1.2 Linux下安装Pyspider 331
9.1.3 选择器pyquery测试 333
9.2 Pyspider实战一:Youku影视排行 335
9.2.1 创建项目 336
9.2.2 爬虫编写 338
9.3 Pyspider实战二:电影下载 346
9.3.1 项目分析 346
9.3.2 爬虫编写 349
9.3.3 爬虫运行、调试 355
9.3.4 删除项目 360
9.4 Pyspider实战三:音悦台MusicTop 363
9.4.1 项目分析 363
9.4.2 爬虫编写 364
9.5 本章小结 369
第10章 爬虫与反爬虫 370
10.1 防止爬虫IP被禁 370
10.1.1 反爬虫在行动 370
10.1.2 爬虫的应对 373
10.2 在爬虫中使用Cookies 377
10.2.1 通过Cookies反爬虫 377
10.2.2 带Cookies的爬虫 378
10.2.3 动态加载反爬虫 381
10.2.4 使用浏览器获取数据 381
10.3 本章小结 381
计算机技术飞速发展,人们对计算机使用技能的要求也越来越高。在编写软件时,大家既希望有超高的效率,又希望这门语言简单易用。这种鱼与熊掌皆得的要求的确很高,Python编程语言恰好符合这么苛刻的要求。
Python的执行效率仅比效率之王C略差一筹,在简单易用方面Python也名列三甲。可以说Python在效率和简单之间达到了平衡。另外,Python还是一门胶水语言,可以将其他编程语言的优点融合在一起,达到1 1>2的效果。这也是Python如今使用人数越来越多的原因。
Python语言发展迅速,在各行各业都发挥独特的作用。在各大企业、学校、机关都运行着Python明星程序。但就个人而言,运用Python最多的还是网络爬虫(这里的爬虫仅涉及从网页提取数据,不涉及深度、广度算法爬虫搜索)。在网络上经常更新的数据,无须每次都打开网页浏览,使用爬虫程序,一键获取数据,下载保存后分析。考虑到Python爬虫在网络上的资料虽多,但大多都不成系统,难以提供系统有效的学习。因此笔者抛砖引玉,编写了这本有关Python网络爬虫的书,以供读者学习参考。
Python简单易学,Python爬虫也不复杂。只需要了解了Python的基本操作即可自行编写。本书中介绍了几种不同类型的Python爬虫,可以针对不同情况的站点进行数据收集。
本书特色
? 附带全部源代码。为了便于读者理解本书内容,作者已将全部的源代码上传到网络,供读者下载使用。读者通过代码学习开发思路,精简优化代码。
? 涵盖了Linux&Windows上模块的安装配置。本书包含了Python模块源的配置、模块的安装,以及常用IDE的使用。
? 实战实例。通过常用的实例,详细说明网络爬虫的编写过程。
本书内容
本书共10章,前面4章简单地介绍了Python 3.6的基本用法和简单Python程序的编写。第5章的Scrapy爬虫框架主要针对一般无须登录的网站,在爬取大量数据时使用Scrapy会很方便。第6章的Beautiful Soup爬虫可以算作爬虫的“个人版”。Beautiful Soup爬虫主要针对一些爬取数据比较少的,结构简单的网站。第7章的Mechanize模块,主要功能是模拟浏览器。它的作用主要是针对那些需要登录验证的网站。第8章的Selenium模块,主要功能也是模拟浏览器,它的作用主要是针对JavaScript返回数据的网站。第9章的Pyspider是由国人自产的爬虫框架。Pyspider框架独具一格的Web接口让爬虫的使用更加简单。第10章简单介绍了反爬虫技术,使读者编写的爬虫可以绕过简单的反爬虫技术更加灵活地获取数据。
本书用于Python 3编程与Python 3网络爬虫快速入门。另外,为了让读者多了解几个爬虫框架,本书也介绍了Python 2.7下运行的Mechanize与Pyspider工具。
修订说明
本书第1版使用了Python 2.7,由于Python 2未来不再被官方支持,今后Python将逐渐转换到Python 3版本。Python 3基本上可以与Python 2兼容,但细节方面略有差异,比如某些模块的名称(Python2中的urllib2在Python 3中变成了urllib.request)。本次修订将所有支持Python 3的爬虫全部转换成了Python 3的版本,更加符合主流。目前暂时不支持Python 3、只支持Python 2的爬虫(Mechanize与Pyspider)也修订了代码,改正了一些因为目标网站改版而造成爬虫不能使用的问题。
源代码下载
本书源代码下载地址请扫描右边二维码。如果下载有问题,或者对本书有
任何疑问与建议,请联系[email protected],邮件主题为“Python网络爬虫”。
本书读者与作者
? Python编程及Python网络爬虫初学者
? 数据分析与挖掘技术初学者
? 高等院校和培训学校相关专业的师生
本书由胡松涛主笔,其他参与创作的还有王立平、刘祥淼、王启明、樊爱宛、张倩、曹卉、林江闽、王铁民、殷龙、李春城、赵东、李玉莉、李柯泉、李雷霆。
著 者
2018年8月
评论
还没有评论。