书籍作者:胡松涛 | ISBN:9787302510086 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:5806 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书从Python 3.6.4的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。本书从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。
本书共10章,涵盖的内容有Python3.6语言的基本语法、Python常用IDE的使用、Python第三方模块的导入使用、Python爬虫常用模块、Scrapy爬虫、Beautiful Soup爬虫、Mechanize模拟浏览器和Selenium模拟浏览器、Pyspider爬虫框架、爬虫与反爬虫。本书所有源代码已上传网盘供读者下载。
本书内容丰富,实例典型,实用性强。适合Python网络爬虫初学者、Python数据分析与挖掘技术初学者,以及高等院校和培训学校相关专业的师生阅读。
胡松涛,高级工程师,参与多个Linux开源项目,github知名代码分享者,活跃于国内著名的多个开源论坛。
网络爬虫,又被称为网页蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。很多站点,尤其是搜索引擎,都使用爬虫(它主要用于提供访问页面的一个副本)提供新的数据,然后,搜索引擎对得到的页面进行索引,以便快速访问。爬虫也可以用来在Web上自动执行一些任务,例如检查链接、确认HTML代码;还可以用来抓取网页上某种特定类型的信息,例如电子邮件地址(通常用于垃圾邮件)。因此,网络爬虫技术对互联网企业具有很大的应用价值。
本书从Python 3.6.4基础的部分讲起,延伸到Python流行的应用方向之一 网络爬虫,讲解目前流行的几种Python爬虫框架,并给出详细示例,以帮助读者学习Python并开发出符合自己要求的网络爬虫。
前 言
计算机技术飞速发展,人们对计算机使用技能的要求也越来越高。在编写软件时,大家既希望有超高的效率,又希望这门语言简单易用。这种鱼与熊掌皆得的要求的确很高,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月
目 录
第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