《Python 网络爬虫实战》从Python的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。《Python 网络爬虫实战》从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。
《Python 网络爬虫实战》共8章,涵盖的内容有Python语言的基本语法、Python常用IDE的使用、Python第三方模块的导入使用、Python爬虫常用模块、Scrapy爬虫、Beautiful Soup爬虫、Mechanize模拟浏览器和Selenium模拟浏览器。本书所有源代码已上传网盘供读者下载。
《Python 网络爬虫实战》内容丰富,实例典型,实用性强。适合Python网络爬虫初学者、数据分析与挖掘技术初学者,以及高校及培训学校相关专业的师生阅读。
胡松涛,高级工程师,参与多个Linux开源项目,github知名代码分享者,活跃于国内著名的多个开源论坛。出版图书《树莓派开发从零开始学--超好玩的智能小硬件制作书》。
第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
前 言
计算机技术飞速发展,人们对计算机使用技能的要求也越来越高。在编写软件时,大家既希望有超高的效率,又希望这门语言简单易用。这种鱼与熊掌皆得的要求的确很高,Python编程语言恰好符合这么苛刻的要求。
Python的执行效率仅比效率之王C略差一筹,在简单易用方面Python也名列三甲。可以说Python在效率和简单之间达到了平衡。另外,Python还是一门胶水语言,可以将其他编程语言的优点融合在一起,达到1+1>2的效果。这也是Python如今使用人数越来越多的原因。
Python语言发展迅速,在各行各业都发挥独特的作用。在各大企业、学校、机关都运行着Python明星程序。但就个人而言,运用Python最多的还是网络爬虫(这里的爬虫仅涉及从网页提取数据,不涉及深度、广度算法爬虫搜索)。在网络上经常更新的数据,无须每次都打开网页浏览,使用爬虫程序,一键获取数据,下载保存后分析。考虑到Python爬虫在网络上的资料虽多,但大多都不成系统,难以提供系统有效的学习。因此笔者抛砖引玉,编写了这本有关Python网络爬虫的书,以供读者学习参考。
Python简单易学,Python爬虫也不复杂。只需要了解了Python的基本操作即可自行编写。本书中介绍了几种不同类型的Python爬虫,可以针对不同情况的站点进行数据收集。
本书特色
附带全部源代码
为了便于读者理解本书内容,作者已将全部的源代码上传到网络,供读者下载使用。读者通过代码学习开发思路,精简优化代码。
涵盖了Linux&Windows;上模块的安装配置
本书包含了Python模块源的配置、模块的安装,以及常用IDE的使用。
实战实例
通过常用的实例,详细说明网络爬虫的编写过程。
本书结构
本书共8章,前面4章简单地介绍了Python的基本用法和简单Python程序的编写。第5章的Scrapy爬虫框架主要针对一般无须登录的网站,在爬取大量数据时使用Scrapy会很方便。第6章的Beautiful Soup爬虫可以算作爬虫的“个人版”。Beautiful Soup爬虫主要针对一些爬取数据比较少的,结构简单的网站。第7章的Mechanize模块,主要功能是模拟浏览器。它的作用主要是针对那些需要登录验证的网站。第8章的Selenium模块,主要功能也是模拟浏览器,它的作用主要是针对JavaScript返回数据的网站。
本书读者与作者
Python网络爬虫初学者
数据分析与挖掘技术初学者
高校和培训学校相关专业的师生
本书由胡松涛主笔,其他参与编写的有宋士伟、张倩、彭霁、杨旺功、邹瑛、王铁民、殷龙、李春城、张兴瑜、刘祥淼、李柯泉、林龙、赵殿华、牛晓云。
编 者
2016年11月
初次拿到这本书,我便被它“实战”的标题所吸引,而翻阅内容后,它所展现出的专业性和全面性更是让我惊喜。这本书不仅仅是一本“工具书”,更像是一位经验丰富的“引路人”,它将复杂的爬虫技术分解成一个个可执行的步骤,并且深入浅出地讲解了背后的逻辑。我对书中关于正则表达式在网页解析中的应用讲解印象深刻,作者通过多个实例,将抽象的正则概念与实际的文本匹配需求紧密结合,让我能够快速掌握如何用正则表达式来提取各种格式的文本信息。此外,对于动态网页的爬取,书中详细介绍了Selenium的使用,不仅仅是简单的元素定位和操作,还包括了如何处理iframe、如何等待页面加载完成、如何模拟用户交互等,这些都是进行网页自动化操作时必不可少的技巧。书中对Scrapy框架的讲解更是系统而深入,从项目的创建到中间件的定制,再到部署上线,几乎涵盖了Scrapy使用的方方面面。我曾经尝试使用Scrapy去爬取一个包含大量数据的论坛,通过书中提供的各种配置和优化建议,最终成功地在合理的时间内完成了数据采集,并且数据质量非常高。
评分这本《Python 网络爬虫实战》的书籍,对于已经有一定Python基础,但想要将技术应用于实际数据采集场景的读者来说,无疑是一次极佳的“实操演练”。书中的内容不局限于理论知识的罗列,而是将重心放在了“实战”二字上,这一点在我阅读过程中感受尤为深刻。作者在讲解Scrapy框架的时候,几乎是从零开始,一步步带领读者构建一个完整的爬虫项目,从项目初始化、Spider编写、Item Pipeline设计,到中间件的应用,每一个环节都讲解得非常细致,并且提供了大量可供参考的代码片段。我尝试着跟着书中的步骤,去抓取了一些公开数据集,例如某个API接口的数据、某个公开网站的表格数据,并且成功地将数据整理成结构化的格式,这让我对Scrapy强大的能力有了更直观的认识。书中还涉及到了 AJAX 动态加载内容的爬取、验证码的处理、Cookies 的管理等进阶话题,这些都是在真实爬虫场景中经常会遇到的挑战,有了这本书的指引,我感觉自己不再是“摸着石头过河”,而是有了一个可靠的“地图”和“指南针”。尤其是对于如何设计一个可扩展、易维护的爬虫项目,书中的一些建议和设计模式,对我日后的开发工作都非常有启发。
评分这本书的出现,在我这个爬虫初学者眼中,简直就是雪中送炭。之前尝试过一些零散的教程,但总感觉不成体系,学习起来磕磕绊绊,常常陷入“为什么会这样”的迷茫。这本书从最基础的环境搭建、HTTP协议的原理,到各种经典爬虫库(如Requests、BeautifulSoup、Scrapy)的详细讲解,都循序渐进,讲解得非常到位。我尤其喜欢它在介绍每一个库时,都会附带一两个贴近实际的案例,比如抓取某个新闻网站的标题、某个电商网站的商品信息等。这些案例不仅仅是代码的堆砌,更重要的是教会了我如何分析网页结构、如何定位目标数据、如何处理可能出现的异常情况,这些都是实战中至关重要的技能。而且,书中对于爬虫伦理和法律风险的提醒也相当及时,让我明白技术在带来便利的同时,也需要承担相应的责任。这本书的逻辑清晰,语言通俗易懂,即使是之前对编程不太熟悉的我,也能很快跟上节奏,并且在动手实践中获得成就感。我曾经因为一个简单的反爬机制卡住好几天,但看了书中关于反爬策略的章节后,茅塞顿开,找到了解决问题的思路。总而言之,这本书为我打开了Python网络爬虫的大门,让我能够自信地去探索和应用这项技能。
评分这本书的内容,可以毫不夸张地说,是为那些希望深入理解网络爬虫技术背后原理,并掌握一套完整开发流程的读者量身打造的。它不仅仅是关于如何使用Python库来抓取数据,更强调了“实战”背后的“思考”与“策略”。我特别欣赏书中对于HTTP请求与响应过程的深入剖析,以及RESTful API的设计理念与抓取方法的结合。在讲解BeautifulSoup时,它不仅介绍了CSS选择器和XPath的用法,还深入分析了不同类型HTML结构的特点,以及如何根据实际情况选择最有效的解析方式。更让我印象深刻的是,书中用相当大的篇幅讲解了如何构建一个健壮、高效的爬虫系统,包括多线程/多进程的应用、异步IO的使用、分布式爬虫的架构设想,以及如何通过日志记录和异常处理来保证爬虫的稳定性。我曾经在处理海量数据抓取时遇到过性能瓶颈,书中关于并行抓取和分布式架构的讨论,给了我很多关于如何优化和扩展爬虫系统的思路。另外,书中还探讨了如何应对一些复杂的反爬机制,例如IP限制、User-Agent伪装、JavaScript渲染等,并提供了相应的解决方案,这对于实际项目开发而言,是极具价值的。
评分这本书的内容,对于任何一个想要在数据领域有所作为的Python开发者来说,都是一本值得仔细研读的宝典。它不仅仅是关于“如何爬”,更是关于“为什么这么爬”以及“如何爬得更好”。我非常喜欢书中对于“爬虫工程化”的探讨,它告别了零散的脚本式爬取,而是引导读者去思考如何构建一个可维护、可扩展、可复用的爬虫系统。在讲解Requests库时,书中不仅介绍了其基本用法,还深入探讨了会话管理、SSL证书验证、代理设置等细节,这些都是确保爬虫稳定运行的关键。对于BeautifulSoup,它不仅仅是简单的HTML解析,还包括了如何使用CSS选择器和XPath进行更精准高效的定位,以及如何处理编码问题和不规范的HTML。书中关于Scrapy框架的讲解更是细致入微,从Spider的编写到Pipeline的处理,从Middleware的扩展到Scheduler的优化,每一个环节都提供了详实的讲解和实用的建议。我曾经在开发一个需要频繁访问大量API的爬虫时,遇到了请求频率过快导致被封禁的问题,书中关于限速策略、IP代理池的搭建和使用,以及如何处理各种HTTP错误码的章节,为我提供了非常有效的解决方案。这本书的价值在于,它不仅仅教会了你一项技能,更塑造了你解决实际问题的能力。
评分。。。。。。。。。。。。。
评分以后~买东西省的自己天天看了,哈哈
评分学习中
评分非常实用的好书,里面很多有针对性的例子
评分,,,,,,
评分以后~买东西省的自己天天看了,哈哈
评分刚收到货,京东的速度还是快,后期再追评
评分python2.7 代码有点老。关键畅读可以免费看!!!!
评分同学推荐的,爬虫方面一本不错的书。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有